/*
Theme Name: Only Cats Network
Theme URI: https://only-cats.net/
Description: Тонкая тема: лайки, просмотры, комментарии-иконки, «Поделиться», стрелка «Наверх», баннеры/подвал и единый стиль форм. Без профилей/стены/«лучшее» и т.п. — это в плагин.
Version: 1.2.4
License: GPL-3.0
Text Domain: onlycats
Tags: clean, blog, right-sidebar
*/

/* Base */
html,body{height:100%}
body{background:#f4f5f8;margin:0;font-family:'Segoe UI',Arial,sans-serif;color:#222c1a;font-size:15px}
a{color:#b24725;text-decoration:none;transition:color .15s}
a:hover{color:#ee5886}
img{max-width:100%;height:auto;display:block}
.white-card{background:#fff;border-radius:14px;box-shadow:0 1px 5px rgba(200,120,140,.05);padding:18px 22px}

/* Layout */
.container{width:920px;margin:0 auto;display:flex;flex-direction:column;align-items:stretch;min-height:100vh;background:none}
.content-row{width:100%;display:flex;flex-direction:row;gap:20px;align-items:flex-start;justify-content:flex-start;margin-top:24px}

/* Header */
.header-row{width:100%;display:flex;align-items:center;justify-content:space-between;padding:32px 0 0;box-sizing:border-box}
.logo-stack{display:flex;flex-direction:column;align-items:flex-start;min-width:180px;max-width:320px}
.site-title{font-size:1.48em;font-weight:600;color:#b24725;margin:0;line-height:1.15}
.site-title:hover{color:#ee5886}
.site-desc{font-size:.89em;color:#c08a9e;margin-top:10px;line-height:1.2}
.banner468{width:468px;height:60px;background:#fff3e5;border-radius:9px;display:flex;align-items:center;justify-content:center;color:#c8a278;font-size:1.05em;border:1.2px dashed #ffd7b3;margin-left:18px;flex-shrink:0}

/* Main nav */
.mainnav-bar{
  display:flex;align-items:center;background:#ffe8f1;border-radius:13px;min-height:42px;margin:20px 0 0;
  box-shadow:0 1px 5px rgba(220,180,200,.04);padding:2px 6px;width:100%;box-sizing:border-box;overflow:hidden
}
.nav-menu.nav-stretch{list-style:none;margin:0;padding:0;display:flex;gap:8px;width:100%;flex-wrap:wrap}
.nav-menu.nav-stretch>li>a{display:block;text-align:center;padding:9px 12px;border-radius:7px;background:none;color:#d44809;font-size:13px;font-weight:500;transition:background .15s,color .15s;white-space:nowrap}
.nav-menu.nav-stretch>li.current-menu-item>a,.nav-menu.nav-stretch>li>a:hover{background:#fa993e;color:#fff}

/* Sidebar */
.sidebar{width:250px;flex-shrink:0;display:flex;flex-direction:column;align-items:flex-start}
.sidebar-inner{background:#fbd6e2;border-radius:18px;padding:16px;box-shadow:0 2px 7px rgba(200,120,140,.06);display:flex;flex-direction:column;gap:16px;width:100%;box-sizing:border-box}
.sidebar-search{margin:0}
.sidebar-search form{display:flex;align-items:center;gap:8px}
.sidebar-search input[type="search"]{flex:1 1 0%;min-width:0;padding:7px 10px;font-size:14px;border-radius:7px;border:1px solid #ffd7b3;outline:none;background:#fff;box-sizing:border-box}
.sidebar-search .search-submit{background:#fa993e;color:#fff;border:none;border-radius:7px;padding:7px 14px;font-size:13px;cursor:pointer;transition:background .15s;line-height:1}
.sidebar-search .search-submit:hover{background:#ee5886}

.oc-widget,
.sidebar-ad{
  width:100%;
  box-sizing:border-box;
}

.oc-widget{
  background:#fff;
  border:1px solid #ffd7b3;
  border-radius:14px;
  padding:18px 14px;
}

.oc-widget:empty{
  display:none;
}

.oc-widget-title{
  margin:0 0 14px;
  color:#b24725;
  font-size:1.06em;
  line-height:1.25;
}

.oc-widget .textwidget,
.oc-widget .widget_text,
.oc-widget .widget_custom_html,
.oc-widget .custom-html-widget{
  width:100%;
  max-width:100%;
  overflow:hidden;
}

.oc-widget p{
  margin:0 0 14px;
  line-height:1.5;
}

.oc-widget p:last-child{
  margin-bottom:0;
}

.oc-widget a{
  overflow-wrap:anywhere;
  word-break:break-word;
}

.oc-widget script{
  max-width:100%;
}

.sidebar-ad{
  margin:0;
  min-height:160px;
  display:block;
  color:#d9a0b5;
  font-size:13px;
  background:#fff;
  text-align:center;
  border:1.2px dashed #ee5886;
  border-radius:14px;
  padding:16px;
  box-sizing:border-box;
  overflow:hidden;
  overflow-wrap:anywhere;
  word-break:break-word;
}

.sidebar-ad p{
  margin:0 0 14px;
  line-height:1.5;
}

.sidebar-ad p:last-child{
  margin-bottom:0;
}

.sidebar-ad a{
  overflow-wrap:anywhere;
  word-break:break-word;
}

.sidebar-ad ins.adsbygoogle{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 auto !important;
}

.sidebar-ad iframe,
.sidebar-ad img{
  max-width:100%;
  height:auto;
}

.sidebar-inner > .sidebar-search + .oc-widget:empty,
.sidebar-inner > .oc-widget:empty{
  display:none !important;
}

.sidebar-ad p{
  margin:0 0 14px;
}

.sidebar-ad p:last-child{
  margin-bottom:0;
}

.sidebar-ad a{
  word-break:break-word;
}

/* Areas */
.feed-area{flex:1;min-width:650px;max-width:650px}
.singlearea{flex:1;min-width:650px;max-width:650px;display:flex;flex-direction:column;gap:18px}

/* Post cards */
.feed-list{display:flex;flex-direction:column;gap:22px}
.post-card{background:#fff;border-radius:14px;box-shadow:0 1px 5px rgba(200,120,140,.04);padding:18px 22px}
.pc-title{font-weight:700;font-size:1.14em;margin:0 0 6px}
.pc-meta{color:#b28290;font-size:13px;margin-bottom:10px}
.pc-media{margin:10px 0;border-radius:12px;overflow:hidden;background:#ffe8f1}
.pc-media img{display:block;margin:0 auto;border-radius:12px;max-width:700px;width:100%;object-fit:cover}
.pc-excerpt{color:#222c1a;line-height:1.5;margin:8px 0}
.meta-actions{display:flex;align-items:center;gap:10px;margin-top:8px}

/* Counters & Buttons (единый стиль) */
.meta-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px}

.oc-like,
.oc-ico,
.oc-share,
.oc-report-trigger{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  height:30px;
  padding:0 12px;
  border-radius:7px;
  border:1px solid #fa993e;
  background:#fff3e5;
  color:#b24725;
  font-size:13px;
  line-height:1;
  cursor:pointer;
  text-decoration:none;
  box-sizing:border-box;
}

.oc-like .ico{font-weight:700}
.oc-ico{font-size:13px}
.oc-ico b{color:#b24725}

.oc-like:hover,
.oc-ico:hover,
.oc-share:hover,
.oc-report-trigger:hover{
  background:#fa993e;
  color:#fff;
}

.oc-like:hover b,
.oc-ico:hover b{
  color:#fff;
}


.oc-report-trigger .oc-report-icon{display:none!important}
.oc-report-trigger::before{
  content:"!";
  display:block;
  font-weight:900;
  font-size:16px;
  line-height:1;
  color:currentColor;
}


/* Single */
.post-view .pv-title{font-size:1.6em;margin:0 0 6px;color:#b24725}
.post-view .pv-meta{color:#b28290;font-size:13px;margin-bottom:12px}
.post-view .pv-thumb img{width:100%;height:auto;border-radius:10px}
.post-view .pv-content{margin-top:14px;line-height:1.6}
.post-view .pv-tags{margin-top:16px;display:flex;flex-wrap:wrap;gap:8px}
.entry-content img,.wp-block-image img,.gallery img,figure img{display:block;margin-left:auto;margin-right:auto;max-height:750px;border-radius:10px}

/* Comments */
.commentsblock .comment{display:flex;gap:10px;padding:10px 0;border-top:1px solid #f0e6ea}
.addcommentinput{width:100%;max-width:100%;padding:8px 10px;border:1px solid #ffd7b3;border-radius:7px;background:#fff;box-sizing:border-box;display:block}
.oc-btn{background:#fa993e;color:#fff;border:none;border-radius:7px;padding:8px 14px;cursor:pointer}
.oc-btn:hover{background:#ee5886}
.oc-comments-title{margin-top:0;color:#b24725}

/* Plugin wraps (AnsPress/shortcodes/etc.) */
.oc-plugin-wrap{background:#fff;border-radius:14px;box-shadow:0 1px 5px rgba(200,120,140,.05);padding:18px 22px}
.oc-plugin-wrap h1,.oc-plugin-wrap h2,.oc-plugin-wrap h3{color:#b24725}
.oc-plugin-wrap input[type="text"],.oc-plugin-wrap input[type="email"],.oc-plugin-wrap input[type="password"],.oc-plugin-wrap select,.oc-plugin-wrap textarea{width:100%;padding:7px 10px;border:1px solid #ffd7b3;border-radius:7px;box-sizing:border-box;background:#fff}
.oc-plugin-wrap .button,.oc-plugin-wrap button{background:#fa993e;color:#fff;border:none;border-radius:7px;padding:7px 14px;cursor:pointer}
.oc-plugin-wrap .button:hover,.oc-plugin-wrap button:hover{background:#ee5886}

/* Footer */
.sitefooter{margin-top:28px;padding:16px 0 22px;border-top:1px solid #f0e6ea}
.sitefooterinner{width:920px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}
.footercopy{color:#bfb8bb;font-size:13px}

/* Top button */
.oc-topbtn{position:fixed;right:22px;bottom:22px;background:#fa993e;color:#fff;border:none;border-radius:50%;width:44px;height:44px;font-size:18px;line-height:44px;text-align:center;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.12);display:none}
.oc-topbtn:hover{background:#ee5886}

/* Scrollbar */
::-webkit-scrollbar{width:10px;background:#f5f5f5}
::-webkit-scrollbar-thumb{background:#ffd7b3;border-radius:7px}

/* Responsive */
@media (max-width:970px){
  .container,.header-row,.content-row{max-width:100%!important;width:100%!important}
  .content-row{flex-direction:column;align-items:stretch}
  .banner468{display:none}
  .feed-area,.singlearea{min-width:100%;max-width:100%}
  .sitefooterinner{width:100%}
}

/* =========================================================
   —— FIXED HEADER + NAV + SIDEBAR — РОВНЫЕ ЗАЗОРЫ (15px) —
   ========================================================= */

:root{
  --oc-head: 86px;                 /* реальная высота шапки → переписывается JS */
  --oc-gap-head-to-nav: 15px;      /* Шапка → меню */
  --oc-nav-h: 42px;
  --oc-gap-below-nav: 15px;        /* Меню → контент/сайдбар */
  --oc-container-w: 920px;
  --oc-sidebar-w: 250px;
  --oc-left: calc(50% - (var(--oc-container-w) / 2));
  --oc-adminbar: 0px;              /* 0 для гостей, 32/46 для админов → переопределяем ниже */
  --oc-top-start: calc(
    var(--oc-adminbar) + var(--oc-head) + var(--oc-gap-head-to-nav) + var(--oc-nav-h) + var(--oc-gap-below-nav)
  );
}

/* фиксированная шапка по центру контейнера */
.header-row{
  position:fixed; left:50%; transform:translateX(-50%);
  top:var(--oc-adminbar); width:var(--oc-container-w); z-index:1000; background:#f4f5f8;
  padding:16px 0 0;
}

/* фиксированное меню под шапкой (ровно 15px) */
.mainnav-bar{
  position:fixed; left:50%; transform:translateX(-50%);
  top:calc(var(--oc-adminbar) + var(--oc-head) + var(--oc-gap-head-to-nav));
  width:var(--oc-container-w); z-index:999; margin:0 !important;
}

/* резерв высоты под шапку и меню + зазор вниз (15px) */
.container{ padding-top:var(--oc-top-start); }

/* фикс-сайдбар слева; контент смещаем вправо (между меню и блоками — 15px) */
@media (min-width:971px){
  .sidebar{
    position:fixed; top:var(--oc-top-start);
    left:var(--oc-left); width:var(--oc-sidebar-w); z-index:20;
  }
  .sidebar-inner{
    max-height:calc(100vh - var(--oc-top-start) - 20px);
    overflow:auto; scrollbar-width:thin;
  }
  .content-row{ padding-left:calc(var(--oc-sidebar-w) + 20px) !important; margin-top:0 !important; }
}

/* первый элемент контента без «прыжка» */
.feed-area > *:first-child,
.singlearea > *:first-child{ margin-top:0 !important; }

/* мобильный режим — всё потоково */
@media (max-width:970px){
  .header-row{ position:static; transform:none; width:100%; }
  .mainnav-bar{ position:static; transform:none; width:100%; margin-top:20px; }
  .container{ padding-top:0; }
  .sidebar{ position:static; width:100%; }
  .content-row{ padding-left:0 !important; }
}

/* =========================================================
   —— ЖЁСТКАЯ ФИКСАЦИЯ СТИЛЕЙ КНОПОК (на случай чужого reset'а)
   ========================================================= */

button.oc-like,
button.oc-share{
  appearance:none;
  -webkit-appearance:none;
  box-shadow:none;
  outline:none;
}

.meta-actions .oc-like,
.meta-actions .oc-ico,
.meta-actions .oc-share,
.meta-actions .oc-report-trigger{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  height:30px !important;
  padding:0 12px !important;
  border-radius:7px !important;
  border:1px solid #fa993e !important;
  background:#fff3e5 !important;
  color:#b24725 !important;
  font-size:13px !important;
  line-height:1 !important;
  cursor:pointer !important;
  text-decoration:none !important;
  box-sizing:border-box !important;
}

.meta-actions .oc-like:hover,
.meta-actions .oc-ico:hover,
.meta-actions .oc-share:hover,
.meta-actions .oc-report-trigger:hover{
  background:#fa993e !important;
  color:#fff !important;
}

.meta-actions .oc-like:hover b,
.meta-actions .oc-ico:hover b{
  color:#fff !important;
}

.meta-actions .oc-report-icon{
  width:18px !important;
  height:18px !important;
  fill:currentColor !important;
}
#oc-report-modal{
  position:fixed !important;
  inset:0 !important;
  z-index:99999 !important;
}
#oc-report-modal.show{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
#oc-report-modal .oc-card{
  margin:0 !important;
}


.meta-actions .oc-report-trigger .oc-report-icon{display:none!important}
.meta-actions .oc-report-trigger::before{
  content:"!";
  display:block;
  font-weight:900;
  font-size:16px;
  line-height:1;
  color:currentColor;
}



/* =========================================================
   —— АНТИ-ДВОЙНОЙ ОТСТУП НА СТРАНИЦАХ ПРОФИЛЯ / ОШИБКИ —
   ========================================================= */

/* Если .container вложен в .container — внутреннему верхнему отступу тут не место */
.container .container{ padding-top:0 !important; }

/* Специально для обёртки профиля */
.container.ocp-user-container,
.container .ocp-user-container{ padding-top:0 !important; }

/* Не допускаем добавочных зазоров под меню в вложенном контейнере */
.container .container .content-row{ margin-top:0 !important; padding-top:0 !important; }

/* Сайдбар внутри вложенного контейнера также крепим к вычисленной вершине */
@media (min-width:971px){
  .container .container .sidebar{ top:var(--oc-top-start) !important; }
}

/* =========================================================
   —— WP ADMIN BAR COMPENSATION (для залогиненных) —
   ========================================================= */

/* WP иногда добавляет html{margin-top:32px} — отключаем, считаем сами */
html{ margin-top:0 !important; }

/* Задаём высоту админбара в переменную (desktop / mobile) */
body.admin-bar{ --oc-adminbar: 32px; }
@media (max-width:782px){
  body.admin-bar{ --oc-adminbar: 46px; }
}


.header-row,
.mainnav-bar{
  pointer-events:none;
}

.header-row a,
.header-row button,
.mainnav-bar a,
.mainnav-bar button{
  pointer-events:auto;
}