/* =========================================================
   OtzyVito — custom.css
   Style: soft green / calm red / white / graphite
   For DLE + Bootstrap 4.3.1
   Replace old custom.css with this file. No orange, no dark neon.
   ========================================================= */

/* =========================
   01. DESIGN TOKENS
   ========================= */

:root {
  --ov-bg: #f6f8f4;
  --ov-bg-2: #eef5ee;
  --ov-bg-3: #f9fbf8;
  --ov-surface: #ffffff;
  --ov-surface-2: #fbfdfb;
  --ov-surface-3: #f3f8f3;

  --ov-text: #17201b;
  --ov-text-2: #34413a;
  --ov-muted: #68766e;
  --ov-muted-2: #8b978f;

  --ov-line: #dfe9df;
  --ov-line-2: #edf3ed;
  --ov-line-strong: #cbdccc;

  --ov-green: #3f9f69;
  --ov-green-dark: #1f6f49;
  --ov-green-deep: #124f34;
  --ov-green-soft: #edf8ef;
  --ov-green-soft-2: #f5fbf6;
  --ov-green-pale: #dff2e2;

  --ov-red: #d55c5c;
  --ov-red-dark: #a83737;
  --ov-red-soft: #fff1f1;
  --ov-red-soft-2: #fff7f7;
  --ov-red-line: #f0c9c9;

  --ov-yellow: #d39c37;
  --ov-yellow-soft: #fff8e8;
  --ov-blue: #4276b7;
  --ov-blue-soft: #eef5ff;

  --ov-radius-xs: 9px;
  --ov-radius-sm: 13px;
  --ov-radius-md: 17px;
  --ov-radius-lg: 22px;
  --ov-radius-xl: 30px;

  --ov-shadow-xs: 0 2px 8px rgba(17, 32, 27, .035);
  --ov-shadow-sm: 0 10px 26px rgba(17, 32, 27, .055);
  --ov-shadow-md: 0 18px 44px rgba(17, 32, 27, .075);
  --ov-shadow-lg: 0 26px 70px rgba(17, 32, 27, .10);

  --ov-focus-green: 0 0 0 .22rem rgba(63, 159, 105, .16);
  --ov-focus-red: 0 0 0 .22rem rgba(213, 92, 92, .14);
  --ov-ease: .22s ease;

  --font-family-sans-serif: Inter, Rubik, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, "Noto Sans", sans-serif;
}

/* =========================
   02. BASE
   ========================= */

html {
  font-size: 16px;
  scroll-behavior: smooth;
  background: var(--ov-bg);
}

body,
body.coffee-body {
  margin: 0;
  padding-top: 0 !important;
  min-height: 100vh;
  overflow-x: hidden;
  color: var(--ov-text-2);
  font-family: var(--font-family-sans-serif);
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
  background:
    radial-gradient(circle at 0% 0%, rgba(63, 159, 105, .095), transparent 28%),
    radial-gradient(circle at 100% 0%, rgba(213, 92, 92, .065), transparent 30%),
    linear-gradient(180deg, #fbfdf9 0%, #f4f8f2 46%, #eef5ee 100%) !important;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: .42;
  background-image:
    linear-gradient(rgba(31, 111, 73, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(31, 111, 73, .032) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(180deg, rgba(0,0,0,.62), transparent 78%);
}

*, *::before, *::after { box-sizing: border-box; }

::selection {
  color: #fff;
  background: rgba(63, 159, 105, .72);
}

.container {
  max-width: 1320px;
  position: relative;
  z-index: 2;
}

img {
  max-width: 100%;
  height: auto;
}

a {
  color: var(--ov-green-dark);
  text-decoration: none;
  transition: color var(--ov-ease), background-color var(--ov-ease), border-color var(--ov-ease), box-shadow var(--ov-ease), transform var(--ov-ease), opacity var(--ov-ease);
}

a:hover,
a:focus {
  color: var(--ov-red-dark);
  text-decoration: none;
}

p,
li {
  color: var(--ov-text-2);
}

small,
span,
label,
div,
td,
th {
  word-wrap: break-word;
}

.text-muted { color: var(--ov-muted) !important; }

hr {
  border: 0;
  border-top: 1px solid var(--ov-line);
}

/* =========================
   03. TYPOGRAPHY
   ========================= */

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  margin-top: 0;
  color: var(--ov-text);
  font-family: var(--font-family-sans-serif);
  font-weight: 850;
  letter-spacing: -0.036em;
  line-height: 1.12;
}

h1, .h1 { font-size: clamp(1.85rem, 3.1vw, 1rem); }
h2, .h2 { font-size: clamp(1.45rem, 2.15vw, 2.05rem); }
h3, .h3 { font-size: clamp(1.2rem, 1.55vw, 1.55rem); }

.lead {
  color: var(--ov-text-2);
  font-weight: 500;
  line-height: 1.65;
}

/* =========================
   04. BOOTSTRAP SOFT OVERRIDES
   ========================= */

.card,
.story,
.box,
.shortstory,
.fullstory,
.page,
.content-box,
.base-box,
.main-news,
.sect,
.sect-white,
.tv-side-card,
.tv-auth-card,
.tv-profile-card,
.tv-register-card,
.tv-login-card,
.tv-user-card {
  color: var(--ov-text-2);
  border: 1px solid var(--ov-line) !important;
  border-radius: var(--ov-radius-lg) !important;
  background: linear-gradient(180deg, var(--ov-surface) 0%, var(--ov-surface-2) 100%) !important;
  box-shadow: var(--ov-shadow-sm) !important;
}

.card-body { padding: 22px; }

.btn,
button,
input[type="submit"],
input[type="button"] {
  border-radius: 14px;
  font-weight: 760;
  transition: all var(--ov-ease);
}

.btn:focus,
button:focus,
input[type="submit"]:focus,
input[type="button"]:focus {
  outline: none !important;
  box-shadow: var(--ov-focus-green) !important;
}

.btn-primary,
.site-search-btn,
.tv-main-btn-green,
.tv-main-btn,
.tv-auth-check-btn,
.tv-shortstory-readmore,
.related-btn-fix,
.comments-submit-btn,
.tv-download-btn,
.otv-primary-btn {
  color: #fff !important;
  border: 1px solid rgba(31, 111, 73, .10) !important;
  background: linear-gradient(135deg, #2f8f5c 0%, #55ad75 100%) !important;
  box-shadow: 0 12px 24px rgba(63, 159, 105, .16) !important;
}

.btn-primary:hover,
.site-search-btn:hover,
.tv-main-btn-green:hover,
.tv-main-btn:hover,
.tv-auth-check-btn:hover,
.tv-shortstory-readmore:hover,
.related-btn-fix:hover,
.comments-submit-btn:hover,
.tv-download-btn:hover,
.otv-primary-btn:hover {
  color: #fff !important;
  transform: translateY(-1px);
  background: linear-gradient(135deg, #26764c 0%, #469d68 100%) !important;
  box-shadow: 0 16px 30px rgba(63, 159, 105, .20) !important;
}

.btn-danger,
.otv-danger-btn,
.tv-red-btn {
  color: #fff !important;
  border-color: rgba(213, 92, 92, .14) !important;
  background: linear-gradient(135deg, #c94d4d 0%, #e06d6d 100%) !important;
  box-shadow: 0 12px 24px rgba(213, 92, 92, .15) !important;
}

.btn-danger:hover,
.otv-danger-btn:hover,
.tv-red-btn:hover {
  color: #fff !important;
  background: linear-gradient(135deg, #a93a3a 0%, #c94d4d 100%) !important;
}

.btn-secondary,
.btn-light,
.tv-main-btn-light,
.tv-shortstory-rate-btn,
.tv-shortstory-rate-multi,
.tv-shortstory-more-btn,
.tv-fs-pro-more,
.db-comment-iconbtn,
.db-comment-like-btn,
.otv-light-btn {
  color: var(--ov-text-2) !important;
  border: 1px solid var(--ov-line) !important;
  background: #fff !important;
  box-shadow: var(--ov-shadow-xs) !important;
}

.btn-secondary:hover,
.btn-light:hover,
.tv-main-btn-light:hover,
.tv-shortstory-rate-btn:hover,
.tv-shortstory-rate-multi:hover,
.tv-shortstory-more-btn:hover,
.tv-fs-pro-more:hover,
.db-comment-iconbtn:hover,
.db-comment-like-btn:hover,
.otv-light-btn:hover {
  color: var(--ov-green-deep) !important;
  border-color: var(--ov-line-strong) !important;
  background: var(--ov-green-soft) !important;
  transform: translateY(-1px);
}

.form-control,
input[type="text"],
input[type="search"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="number"],
select,
textarea {
  min-height: 48px;
  border-radius: 15px !important;
  border: 1px solid #cfdbd0 !important;
  background: #fff !important;
  color: var(--ov-text) !important;
  font-size: .96rem;
  box-shadow: none !important;
}

.form-control::placeholder,
input::placeholder,
textarea::placeholder {
  color: #93a099 !important;
}

.form-control:focus,
input:focus,
textarea:focus,
select:focus {
  outline: none !important;
  border-color: rgba(63, 159, 105, .55) !important;
  background: #fff !important;
  box-shadow: var(--ov-focus-green) !important;
}

.table {
  color: var(--ov-text-2);
  background: transparent;
}

.table th,
.table td {
  border-color: var(--ov-line-2) !important;
}

.table thead th,
.table tr:first-child th {
  color: var(--ov-green-deep);
  background: var(--ov-green-soft) !important;
  font-weight: 800;
}

.alert {
  border-radius: 18px;
  border: 1px solid var(--ov-line);
  box-shadow: var(--ov-shadow-xs);
}

.alert-success {
  color: var(--ov-green-deep);
  background: var(--ov-green-soft);
  border-color: var(--ov-green-pale);
}

.alert-danger {
  color: var(--ov-red-dark);
  background: var(--ov-red-soft);
  border-color: var(--ov-red-line);
}

/* =========================
   05. HEADER
   ========================= */

.site-header-tech {
  position: sticky;
  top: 0;
  z-index: 1300;
  margin-top: 0 !important;
  padding: 0;
  border-bottom: 1px solid rgba(31, 111, 73, .12);
  background: rgba(255, 255, 255, .92) !important;
  box-shadow: 0 10px 30px rgba(17, 32, 27, .055);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.site-header-tech.navbar-light.bg-light {
  background: rgba(255, 255, 255, .92) !important;
}

.site-header-tech::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(63, 159, 105, .35), rgba(213, 92, 92, .20), transparent);
  pointer-events: none;
}

.site-header-inner {
  min-height: 86px;
  display: flex;
  align-items: center;
  gap: 18px;
}

.site-header-tech .navbar-collapse {
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

@media (min-width: 1200px) {
  .site-header-tech .navbar-collapse { display: flex !important; }
}

/* =========================
   06. LOGO
   ========================= */

.site-logo,
.site-logo.tv-logo,
.tv-logo {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  margin-right: 22px;
  padding: 0 !important;
  color: var(--ov-text) !important;
  text-transform: none !important;
  letter-spacing: 0;
  font-weight: 900;
  text-decoration: none !important;
}

.site-logo:hover,
.site-logo:focus,
.tv-logo:hover,
.tv-logo:focus {
  color: var(--ov-text) !important;
  text-decoration: none !important;
  opacity: 1;
}

.tv-logo-mark,
.site-logo-mark {
  position: relative;
  width: 54px;
  height: 54px;
  min-width: 54px;
  overflow: hidden;
  border-radius: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(circle at 30% 18%, rgba(255,255,255,.50), transparent 34%),
    linear-gradient(135deg, #e5f5e7 0%, #ffffff 42%, #ffecec 100%);
  border: 1px solid rgba(31, 111, 73, .16);
  box-shadow: 0 12px 24px rgba(17, 32, 27, .07);
}

.tv-logo-mark::before,
.site-logo-mark::before {
  content: "";
  position: absolute;
  inset: 9px;
  border-radius: 14px;
  border: 2px solid rgba(63, 159, 105, .55);
  border-right-color: rgba(213, 92, 92, .55);
  background: rgba(255,255,255,.42);
}

.tv-logo-mark::after,
.site-logo-mark::after {
  content: "";
  position: absolute;
  right: 9px;
  bottom: 9px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--ov-red);
  box-shadow: 0 0 0 5px rgba(213, 92, 92, .10);
}

.tv-logo-icon,
.site-logo-icon {
  position: relative;
  z-index: 2;
  font-size: 25px;
  color: var(--ov-green-deep);
  filter: none;
}

.tv-logo-text {
  display: grid;
  grid-template-columns: auto auto;
  grid-template-rows: auto auto;
  column-gap: 5px;
  row-gap: 4px;
  align-items: end;
  line-height: 1;
}

.tv-logo-main,
.site-logo .lgg {
  grid-column: 1;
  grid-row: 1;
  font-size: 1.86rem;
  line-height: .96;
  font-weight: 950;
  letter-spacing: -.052em;
  color: var(--ov-text);
}

.tv-logo-dot,
.site-logo-accent {
  grid-column: 2;
  grid-row: 1;
  align-self: end;
  margin-left: 3px;
  font-size: 1.06rem;
  font-weight: 950;
  color: var(--ov-red);
}

.tv-logo-sub,
.tv-logo-text::after {
  grid-column: 1 / 3;
  grid-row: 2;
  content: attr(data-sub);
  display: block;
  font-size: .56rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--ov-muted);
  white-space: nowrap;
}

/* =========================
   07. NAVIGATION
   ========================= */

.site-toggler {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  border: 1px solid var(--ov-line) !important;
  background: #fff !important;
  color: var(--ov-text) !important;
  box-shadow: var(--ov-shadow-xs);
}

.site-toggler:hover,
.site-toggler:focus {
  background: var(--ov-green-soft) !important;
  border-color: var(--ov-line-strong) !important;
  box-shadow: var(--ov-focus-green) !important;
}

.site-main-nav {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 10px;
  margin-left: 0;
  margin-right: 0;
  overflow-x: auto;
  scrollbar-width: none;
}

.site-main-nav::-webkit-scrollbar { display: none; }

.site-main-nav .nav-item {
  flex: 0 0 auto;
  margin-right: 0;
}

.site-main-nav .nav-link {
  position: relative;
  min-height: 48px;
  padding: 14px 18px !important;
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid transparent !important;
  background: transparent !important;
  color: var(--ov-text-2) !important;
  font-size: .94rem;
  font-weight: 780;
  letter-spacing: -.01em;
  line-height: 1;
  white-space: nowrap;
  text-align: center;
  box-shadow: none !important;
}

.site-main-nav .nav-link::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(63,159,105,.10), rgba(255,255,255,.50), rgba(213,92,92,.065));
  transition: opacity var(--ov-ease);
}

.site-main-nav .nav-link::after {
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 8px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--ov-green), var(--ov-red));
  opacity: 0;
  transform: scaleX(.55);
  transform-origin: left center;
  transition: opacity var(--ov-ease), transform var(--ov-ease);
}

.site-main-nav .nav-link:hover,
.site-main-nav .nav-link:focus {
  color: var(--ov-green-deep) !important;
  border-color: var(--ov-line) !important;
  background: #fff !important;
}

.site-main-nav .nav-link:hover::before,
.site-main-nav .nav-link:focus::before,
.site-main-nav .active .nav-link::before,
.site-main-nav .nav-link.active::before { opacity: 1; }

.site-main-nav .nav-link:hover::after,
.site-main-nav .nav-link:focus::after,
.site-main-nav .active .nav-link::after,
.site-main-nav .nav-link.active::after {
  opacity: 1;
  transform: scaleX(1);
}

.site-main-nav .active .nav-link,
.site-main-nav .nav-link.active,
.navbar-light .navbar-nav .active > .nav-link,
.navbar-light .navbar-nav .nav-link.active,
.navbar-light .navbar-nav .nav-link.show,
.navbar-light .navbar-nav .show > .nav-link {
  color: var(--ov-green-deep) !important;
  border-color: rgba(63, 159, 105, .16) !important;
  background: var(--ov-green-soft) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.70), var(--ov-shadow-xs) !important;
}

.site-nav-right {
  flex: 0 0 auto;
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 14px;
}

.site-contact-link {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  padding: 13px 16px !important;
  border-radius: 16px;
  color: var(--ov-text-2) !important;
  font-size: .94rem;
  font-weight: 780;
  white-space: nowrap;
}

.site-contact-link:hover,
.site-contact-link:focus {
  color: var(--ov-green-deep) !important;
  background: var(--ov-green-soft);
}

/* =========================
   08. SEARCH
   ========================= */

.site-search-form {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 10px;
  margin: 0;
  width: auto !important;
}

.site-search-wrap {
  width: 340px;
  min-width: 340px;
  flex: 0 0 340px;
  position: relative;
  display: flex;
  align-items: center;
}

.site-search-icon {
  position: absolute;
  top: 50%;
  left: 15px;
  z-index: 2;
  transform: translateY(-50%);
  color: var(--ov-muted);
  font-size: 18px;
  pointer-events: none;
}

.site-search-input {
  width: 100% !important;
  height: 48px !important;
  min-height: 48px !important;
  padding: 0 15px 0 44px !important;
  border-radius: 16px !important;
  border: 1px solid var(--ov-line) !important;
  background: #fff !important;
  color: var(--ov-text) !important;
  font-size: .94rem;
  font-weight: 620;
  box-shadow: var(--ov-shadow-xs) !important;
}

.site-search-input:focus {
  border-color: rgba(63, 159, 105, .55) !important;
  box-shadow: var(--ov-focus-green) !important;
}

.site-search-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  height: 48px;
  min-width: 108px;
  padding: 0 18px;
  border-radius: 16px !important;
  font-size: .92rem;
  font-weight: 850;
  white-space: nowrap;
  flex: 0 0 auto;
  width: auto !important;
  margin: 0 !important;
}

/* =========================
   09. LAYOUT
   ========================= */

.coffee-layout,
.otv-layout {
  position: relative;
  padding-top: 32px;
  padding-bottom: 46px;
}

.coffee-layout::before,
.otv-layout::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 8% 14%, rgba(63,159,105,.08), transparent 26%),
    radial-gradient(circle at 92% 44%, rgba(213,92,92,.045), transparent 28%);
}

.coffee-main-col,
.coffee-side-col,
.otv-main-col,
.otv-side-col {
  position: relative;
  z-index: 2;
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.coffee-main-col,
.otv-main-col { padding-right: 18px; }
.coffee-side-col,
.otv-side-col { padding-left: 8px; }

@media (min-width: 992px) {
  .coffee-side-col::before,
  .otv-side-col::before {
    content: "";
    position: absolute;
    left: -8px;
    top: 8px;
    bottom: 8px;
    width: 1px;
    background: linear-gradient(180deg, transparent, rgba(31,111,73,.13), transparent);
  }
}

/* =========================
   10. HOMEPAGE HERO / CATEGORY BOX
   ========================= */

.homepage-hero,
.category-seo-box,
.coffee-info-wrap,
.otv-hero,
.otv-info-box {
  position: relative;
  overflow: hidden;
  border-radius: var(--ov-radius-xl) !important;
}

.homepage-hero,
.otv-hero {
  max-width: 100%;
  border: 1px solid var(--ov-line) !important;
  background:
    radial-gradient(circle at 12% 10%, rgba(63,159,105,.14), transparent 36%),
    radial-gradient(circle at 88% 16%, rgba(213,92,92,.09), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(245,251,246,.98)) !important;
  box-shadow: var(--ov-shadow-md) !important;
}

.homepage-hero::before,
.otv-hero::before {
  content: "";
  position: absolute;
  right: 34px;
  top: 30px;
  width: 112px;
  height: 112px;
  border-radius: 32px;
  transform: rotate(8deg);
  background:
    linear-gradient(135deg, rgba(63,159,105,.16), rgba(255,255,255,.65), rgba(213,92,92,.13)),
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.78), transparent 36%);
  border: 1px solid rgba(31,111,73,.12);
  box-shadow: var(--ov-shadow-sm);
}

.homepage-hero::after,
.otv-hero::after {
  content: "OTZYVITO";
  position: absolute;
  right: 22px;
  bottom: 14px;
  pointer-events: none;
  color: rgba(18, 79, 52, .045);
  font-size: clamp(2.7rem, 6.4vw, 6rem);
  line-height: 1;
  font-weight: 950;
  letter-spacing: -.08em;
}

.homepage-hero .card-body,
.otv-hero .card-body,
.otv-hero-inner {
  position: relative;
  z-index: 2;
  padding: 32px 36px !important;
}

.homepage-hero-badge,
.otv-hero-badge,
.otv-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 34px;
  margin-bottom: 16px;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid rgba(63,159,105,.18);
  background: var(--ov-green-soft);
  color: var(--ov-green-deep);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .105em;
  text-transform: uppercase;
}

.homepage-hero-badge::before,
.otv-hero-badge::before,
.otv-kicker::before {
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--ov-red);
  box-shadow: 0 0 0 5px rgba(213,92,92,.10);
}

.homepage-hero h1,
.otv-hero h1 {
  max-width: 850px;
  margin-bottom: 15px !important;
  color: var(--ov-text) !important;
  font-size: clamp(2rem, 3.45vw, 3.15rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -.065em !important;
}

.homepage-hero p,
.otv-hero p {
  max-width: 900px;
  margin-bottom: 0 !important;
  color: var(--ov-text-2) !important;
  font-size: 1rem !important;
  line-height: 1.68 !important;
  font-weight: 560 !important;
}

.category-seo-box,
.coffee-info-wrap,
.otv-info-box {
  border: 1px solid var(--ov-line) !important;
  background: linear-gradient(180deg, #fff 0%, var(--ov-surface-2) 100%) !important;
  box-shadow: var(--ov-shadow-sm);
}

.category-seo-box .card-body,
.otv-info-box .card-body { padding: 22px 24px; }

.category-seo-title,
.otv-section-title {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  color: var(--ov-text);
  font-size: 1.06rem;
  font-weight: 900;
}

.category-seo-title i,
.otv-section-title i { color: var(--ov-red); }

/* =========================
   11. CASE / STATUS UI
   ========================= */

.otv-status,
.case-status,
.tv-case-status,
.tv-shortstory-status,
.tv-fs-status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 32px;
  padding: 7px 11px;
  border-radius: 999px;
  border: 1px solid var(--ov-line);
  background: #fff;
  color: var(--ov-text-2);
  font-size: .76rem;
  font-weight: 850;
  line-height: 1.2;
  white-space: nowrap;
}

.otv-status::before,
.case-status::before,
.tv-case-status::before,
.tv-shortstory-status::before,
.tv-fs-status::before {
  content: "";
  width: 8px;
  height: 8px;
  min-width: 8px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 0 5px rgba(63,159,105,.11);
}

.otv-status-open,
.case-status-open,
.status-open {
  background: var(--ov-red-soft) !important;
  border-color: var(--ov-red-line) !important;
  color: var(--ov-red-dark) !important;
}

.otv-status-progress,
.case-status-progress,
.status-progress {
  background: var(--ov-yellow-soft) !important;
  border-color: #f0d8a5 !important;
  color: #8a5b0d !important;
}

.otv-status-resolved,
.case-status-resolved,
.status-resolved {
  background: var(--ov-green-soft) !important;
  border-color: var(--ov-green-pale) !important;
  color: var(--ov-green-deep) !important;
}

.otv-status-answer,
.case-status-answer,
.status-answer {
  background: var(--ov-blue-soft) !important;
  border-color: #d1e2fb !important;
  color: #285f9c !important;
}

.otv-status-open::before,
.case-status-open::before,
.status-open::before { box-shadow: 0 0 0 5px rgba(213,92,92,.10); }

.otv-status-progress::before,
.case-status-progress::before,
.status-progress::before { box-shadow: 0 0 0 5px rgba(211,156,55,.11); }

.otv-status-resolved::before,
.case-status-resolved::before,
.status-resolved::before { box-shadow: 0 0 0 5px rgba(63,159,105,.11); }

.otv-status-answer::before,
.case-status-answer::before,
.status-answer::before { box-shadow: 0 0 0 5px rgba(66,118,183,.10); }

.otv-tags,
.tv-tags,
.case-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.otv-tag,
.tv-tag,
.case-tag,
.xfields-tag {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 11px;
  border-radius: 999px;
  border: 1px solid var(--ov-line);
  background: #fff;
  color: var(--ov-muted);
  font-size: .76rem;
  font-weight: 800;
  line-height: 1.2;
}

.otv-tag-red,
.case-tag-red { background: var(--ov-red-soft); color: var(--ov-red-dark); border-color: var(--ov-red-line); }
.otv-tag-green,
.case-tag-green { background: var(--ov-green-soft); color: var(--ov-green-deep); border-color: var(--ov-green-pale); }

/* =========================
   12. SHORTSTORY / LIST CARDS
   ========================= */

.tv-shortstory,
.shortstory.story,
.otv-case-card {
  position: relative;
  margin-bottom: 24px !important;
  overflow: hidden;
  border: 1px solid var(--ov-line) !important;
  border-radius: 28px !important;
  background: linear-gradient(180deg, #fff 0%, #fbfdfb 100%) !important;
  box-shadow: var(--ov-shadow-sm) !important;
  transition: transform var(--ov-ease), box-shadow var(--ov-ease), border-color var(--ov-ease), background var(--ov-ease);
}

.tv-shortstory::before,
.shortstory.story::before,
.otv-case-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 5px;
  background: linear-gradient(90deg, var(--ov-green) 0%, #b9dfc0 54%, var(--ov-red) 100%);
  opacity: .92;
}

.tv-shortstory:hover,
.shortstory.story:hover,
.otv-case-card:hover {
  transform: translateY(-2px);
  border-color: var(--ov-line-strong) !important;
  box-shadow: var(--ov-shadow-md) !important;
  background: #fff !important;
}

.tv-shortstory-body,
.otv-case-card-body {
  position: relative;
  z-index: 2;
  padding: 24px 26px !important;
}

.tv-shortstory .row,
.otv-case-card .row {
  margin-left: -11px;
  margin-right: -11px;
}

.tv-shortstory .row > [class*="col-"],
.otv-case-card .row > [class*="col-"] {
  padding-left: 11px;
  padding-right: 11px;
}

.tv-shortstory-poster,
.otv-case-thumb {
  position: relative;
  display: block;
  border-radius: 22px;
  overflow: hidden;
  background: #e9f2ea;
  border: 1px solid var(--ov-line);
  box-shadow: var(--ov-shadow-xs);
  text-decoration: none !important;
}

.tv-shortstory-image,
.otv-case-image {
  display: block;
  width: 100%;
  min-height: 220px;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  object-position: center;
  border-radius: 0 !important;
  transition: transform .26s ease, opacity var(--ov-ease);
}

.tv-shortstory:hover .tv-shortstory-image,
.otv-case-card:hover .otv-case-image {
  transform: scale(1.025);
}

.tv-shortstory-fixed-badge,
.otv-case-badge {
  position: absolute;
  left: 13px;
  top: 13px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  min-height: 31px;
  padding: 6px 11px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  color: var(--ov-red-dark);
  border: 1px solid rgba(213,92,92,.18);
  font-size: .74rem;
  font-weight: 900;
  box-shadow: var(--ov-shadow-xs);
}

.tv-shortstory-topline,
.otv-case-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.tv-shortstory-category,
.otv-case-category {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.tv-shortstory-category a,
.otv-case-category a {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 7px 12px;
  border-radius: 999px;
  background: var(--ov-green-soft);
  border: 1px solid rgba(63,159,105,.14);
  color: var(--ov-green-deep) !important;
  font-size: .78rem;
  font-weight: 850;
  letter-spacing: .02em;
  text-decoration: none !important;
  line-height: 1.2;
}

.tv-shortstory-category a:hover,
.otv-case-category a:hover {
  background: var(--ov-green-pale);
}

.tv-shortstory-title,
.otv-case-title {
  margin: 0 0 13px;
  font-size: clamp(1.34rem, 2vw, 1.78rem);
  line-height: 1.16;
  font-weight: 850;
  letter-spacing: -.035em;
  color: var(--ov-text);
}

.tv-shortstory-title a,
.otv-case-title a {
  color: inherit !important;
  text-decoration: none !important;
}

.tv-shortstory-title a:hover,
.otv-case-title a:hover {
  color: var(--ov-red-dark) !important;
}

.tv-shortstory-title i,
.otv-case-title i { color: var(--ov-red); }

.tv-shortstory-excerpt,
.otv-case-excerpt {
  margin-bottom: 16px;
  color: var(--ov-text-2);
  font-size: 1rem;
  line-height: 1.78;
  word-break: break-word;
}

.tv-shortstory-excerpt p:last-child,
.otv-case-excerpt p:last-child { margin-bottom: 0; }

.tv-shortstory-editnote,
.otv-case-note {
  margin-bottom: 15px;
  padding: 13px 15px;
  border-radius: 16px;
  background: var(--ov-red-soft-2);
  border: 1px solid var(--ov-red-line);
  color: var(--ov-text-2);
  font-size: .91rem;
  line-height: 1.62;
}

.tv-shortstory-editnote b,
.otv-case-note b { color: var(--ov-red-dark); }

.tv-shortstory-footer,
.otv-case-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--ov-line-2);
}

.tv-shortstory-meta,
.otv-case-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
}

.tv-shortstory-meta .list-inline-item,
.otv-case-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  margin: 0 !important;
  padding: 7px 11px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--ov-line);
  color: var(--ov-muted);
  font-size: .82rem;
  font-weight: 720;
  line-height: 1.2;
  white-space: nowrap;
}

.tv-shortstory-meta .list-inline-item i,
.otv-case-meta-item i { color: var(--ov-green-dark); opacity: .9; }

.tv-shortstory-actions,
.otv-case-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px;
}

.tv-shortstory-readmore,
.otv-case-readmore {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 11px 17px;
  border-radius: 15px;
  font-size: .92rem;
  font-weight: 850;
  line-height: 1.2;
  text-decoration: none !important;
}

.tv-shortstory-readmore::after,
.otv-case-readmore::after {
  content: "→";
  margin-left: 8px;
  transition: transform var(--ov-ease);
}

.tv-shortstory-readmore:hover::after,
.otv-case-readmore:hover::after { transform: translateX(3px); }

/* =========================
   13. FULLSTORY
   ========================= */

.tv-fs-pro,
.tv-fullstory,
.fullstory,
.otv-fullstory {
  position: relative;
  overflow: visible !important;
  background: linear-gradient(180deg, #fff 0%, #fbfdfb 100%) !important;
  border: 1px solid var(--ov-line) !important;
  border-radius: 30px !important;
  box-shadow: var(--ov-shadow-md) !important;
}

.tv-fs-pro::before,
.tv-fullstory::before,
.fullstory::before,
.otv-fullstory::before {
  content: "";
  position: absolute;
  left: 22px;
  right: 22px;
  top: 0;
  height: 5px;
  border-radius: 0 0 999px 999px;
  background: linear-gradient(90deg, var(--ov-green) 0%, #b9dfc0 52%, var(--ov-red) 100%);
}

.tv-fs-pro-body,
.tv-fs-body,
.otv-fullstory-body {
  padding: 32px 34px 30px !important;
  color: var(--ov-text);
}

.tv-fs-pro-header,
.tv-fs-header,
.otv-fullstory-header {
  position: relative;
  margin-bottom: 24px;
  padding-bottom: 19px;
  border-bottom: 1px solid var(--ov-line-2);
}

.tv-fs-pro-title,
.tv-fs-title,
.otv-fullstory-title {
  margin: 0 0 15px;
  padding-right: 54px;
  font-size: clamp(2rem, 3vw, 1.85rem);
  line-height: 1.07;
  font-weight: 900;
  letter-spacing: -.055em;
  color: var(--ov-text);
  max-width: 1030px;
}

.tv-fs-pro-title .ffx,
.tv-fs-title .ffx,
.otv-fullstory-title .ffx { color: var(--ov-red-dark); }

.tv-fs-pro-meta,
.tv-fs-meta,
.otv-fullstory-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  align-items: center;
  font-size: 14px;
  line-height: 1.35;
  color: var(--ov-muted) !important;
}

.tv-fs-pro-meta .fs-meta-item,
.tv-fs-meta .fs-meta-item,
.otv-fullstory-meta .fs-meta-item,
.otv-meta-pill {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 35px;
  padding: 7px 12px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--ov-line);
  color: var(--ov-muted) !important;
}

.tv-fs-pro-meta .fs-meta-item i,
.tv-fs-meta .fs-meta-item i,
.otv-meta-pill i { color: var(--ov-green-dark); opacity: .9; }

.tv-fs-pro-category,
.tv-fs-category,
.otv-fullstory-category {
  background: var(--ov-green-soft) !important;
  border-color: rgba(63,159,105,.15) !important;
  color: var(--ov-green-deep) !important;
  font-weight: 850;
}

.tv-fs-pro-hero,
.tv-fs-hero,
.otv-fullstory-hero {
  display: grid;
  grid-template-columns: minmax(330px, 430px) minmax(0, 1fr);
  gap: 22px;
  align-items: start;
  margin-bottom: 30px;
}

.tv-fs-pro-poster,
.tv-fs-hero-poster,
.otv-fullstory-poster {
  position: relative;
  margin: 0;
  border-radius: 24px;
  overflow: hidden;
  background: #e7efe7;
  border: 1px solid var(--ov-line);
  box-shadow: var(--ov-shadow-sm);
  line-height: 0;
  min-height: 250px;
}

.tv-fs-pro-poster-image,
.tv-fs-hero-image,
.tv-fs-pro-poster img,
.tv-fs-hero-poster img,
.otv-fullstory-poster img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 250px;
  object-fit: cover;
  object-position: center;
  border-radius: 0 !important;
}

.tv-fs-pro-note-mount .ai-note,
.tv-fs-note-mount .ai-note,
.otv-summary-box,
.otv-editor-note {
  position: relative;
  width: 100%;
  margin: 0 !important;
  padding: 20px 20px 18px;
  border-radius: 24px;
  background: linear-gradient(180deg, #fff 0%, var(--ov-green-soft-2) 100%);
  border: 1px solid var(--ov-line);
  box-shadow: var(--ov-shadow-sm);
  overflow: hidden;
}

.tv-fs-pro-note-mount .ai-note::before,
.tv-fs-note-mount .ai-note::before,
.otv-summary-box::before,
.otv-editor-note::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 5px;
  background: linear-gradient(180deg, var(--ov-green) 0%, var(--ov-red) 100%);
}

.tv-fs-pro-note-mount .ai-note-title,
.tv-fs-note-mount .ai-note-title,
.otv-summary-title,
.otv-editor-note-title {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  margin: 0 0 14px;
  padding: 7px 12px;
  border-radius: 999px;
  background: var(--ov-green-soft);
  border: 1px solid rgba(63,159,105,.14);
  color: var(--ov-green-deep);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.tv-fs-pro-content,
.tv-fs-content,
.otv-fullstory-content {
  display: block;
  color: var(--ov-text);
}

.tv-fs-pro-text,
.tv-fs-text,
.fs-text,
.otv-article-text {
  position: relative;
  color: var(--ov-text);
  font-size: 17px;
  line-height: 1.9;
  word-wrap: break-word;
}

.tv-fs-pro-text::after,
.tv-fs-text::after,
.fs-text::after,
.otv-article-text::after {
  content: "";
  display: block;
  clear: both;
}

.tv-fs-pro-text > *:first-child,
.tv-fs-text > *:first-child,
.fs-text > *:first-child,
.otv-article-text > *:first-child { margin-top: 0 !important; }

.tv-fs-pro-text p,
.tv-fs-text p,
.fs-text p,
.otv-article-text p {
  margin: 0 0 1.15rem;
  color: var(--ov-text-2);
}

.tv-fs-pro-text strong,
.tv-fs-text strong,
.fs-text strong,
.otv-article-text strong {
  color: var(--ov-text);
  font-weight: 760;
}

.tv-fs-pro-text a,
.tv-fs-text a,
.fs-text a,
.otv-article-text a {
  color: var(--ov-green-dark);
  font-weight: 760;
  text-decoration: none;
  border-bottom: 1px solid rgba(63,159,105,.20);
  box-shadow: inset 0 -1px 0 rgba(63,159,105,.08);
}

.tv-fs-pro-text a:hover,
.tv-fs-text a:hover,
.fs-text a:hover,
.otv-article-text a:hover {
  color: var(--ov-red-dark);
  border-color: rgba(213,92,92,.25);
}

.tv-fs-pro-text h2,
.tv-fs-pro-text h3,
.tv-fs-text h2,
.tv-fs-text h3,
.fs-text h2,
.fs-text h3,
.otv-article-text h2,
.otv-article-text h3 {
  position: relative;
  margin: 2rem 0 1rem;
  line-height: 1.2;
  letter-spacing: -.032em;
  color: var(--ov-text);
}

.tv-fs-pro-text h2,
.tv-fs-text h2,
.fs-text h2,
.otv-article-text h2 {
  padding-left: 20px;
  font-size: clamp(1.5rem, 2vw, 1.95rem);
  font-weight: 850;
}

.tv-fs-pro-text h2::before,
.tv-fs-text h2::before,
.fs-text h2::before,
.otv-article-text h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: .2em;
  width: 7px;
  height: calc(100% - .4em);
  border-radius: 999px;
  background: linear-gradient(180deg, var(--ov-green) 0%, var(--ov-red) 100%);
}

.tv-fs-pro-text h3,
.tv-fs-text h3,
.fs-text h3,
.otv-article-text h3 {
  padding-left: 17px;
  font-size: clamp(1.16rem, 1.5vw, 1.38rem);
  font-weight: 820;
}

.tv-fs-pro-text h3::before,
.tv-fs-text h3::before,
.fs-text h3::before,
.otv-article-text h3::before {
  content: "";
  position: absolute;
  left: 0;
  top: .55em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--ov-red);
  box-shadow: 0 0 0 6px rgba(213,92,92,.09);
}

.tv-fs-pro-text blockquote,
.tv-fs-text blockquote,
.fs-text blockquote,
.otv-article-text blockquote {
  margin: 1.45rem 0;
  padding: 1.08rem 1.18rem 1.08rem 1.22rem;
  border: 1px solid var(--ov-red-line);
  border-left: 5px solid var(--ov-red);
  border-radius: 20px;
  background: var(--ov-red-soft-2);
  color: var(--ov-text-2);
  box-shadow: var(--ov-shadow-xs);
}

.tv-fs-pro-text ul,
.tv-fs-pro-text ol,
.tv-fs-text ul,
.tv-fs-text ol,
.fs-text ul,
.fs-text ol,
.otv-article-text ul,
.otv-article-text ol {
  margin: 0 0 1.25rem;
  padding-left: 1.38rem;
}

.tv-fs-pro-text li,
.tv-fs-text li,
.fs-text li,
.otv-article-text li {
  margin-bottom: .55rem;
  color: var(--ov-text-2);
}

.tv-fs-pro-text li::marker,
.tv-fs-text li::marker,
.fs-text li::marker,
.otv-article-text li::marker { color: var(--ov-green); }

/* article ai blocks */
.tv-fs-pro-text .ai-toc,
.tv-fs-text .ai-toc,
.fs-text .ai-toc,
.otv-toc {
  float: right;
  width: min(330px, 41%);
  margin: .35rem 0 1.25rem 1.5rem;
  padding: 1.05rem 1.05rem 1rem;
  border: 1px solid var(--ov-line);
  border-radius: 22px;
  background: linear-gradient(180deg, #fff 0%, var(--ov-green-soft-2) 100%);
  box-shadow: var(--ov-shadow-xs);
  clear: right;
}

.tv-fs-pro-text .ai-toc-title,
.tv-fs-text .ai-toc-title,
.fs-text .ai-toc-title,
.otv-toc-title {
  display: flex;
  align-items: center;
  margin: 0 0 .88rem;
  color: var(--ov-text);
  font-size: .92rem;
  font-weight: 900;
}

.tv-fs-pro-text .ai-toc-title::before,
.tv-fs-text .ai-toc-title::before,
.fs-text .ai-toc-title::before,
.otv-toc-title::before {
  content: "";
  width: 10px;
  height: 10px;
  margin-right: .7rem;
  border-radius: 50%;
  background: var(--ov-red);
}

.tv-fs-pro-text .ai-note,
.tv-fs-text .ai-note,
.fs-text .ai-note,
.otv-note {
  padding: 18px 18px 16px;
  border-radius: 22px;
  background: linear-gradient(180deg, #fff 0%, var(--ov-green-soft-2) 100%);
  border: 1px solid var(--ov-line);
  box-shadow: var(--ov-shadow-xs);
  position: relative;
  overflow: hidden;
}

.tv-fs-pro-text > .ai-note,
.tv-fs-text > .ai-note,
.fs-text > .ai-note {
  float: left;
  width: min(370px, 46%);
  margin: .35rem 1.5rem 1.2rem 0;
  clear: left;
}

.tv-fs-pro-text .ai-note::before,
.tv-fs-text .ai-note::before,
.fs-text .ai-note::before,
.otv-note::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 5px;
  background: linear-gradient(180deg, var(--ov-green), var(--ov-red));
}

.tv-fs-pro-text .ai-note-title,
.tv-fs-text .ai-note-title,
.fs-text .ai-note-title,
.otv-note-title {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  margin: 0 0 14px;
  padding: 7px 12px;
  border-radius: 999px;
  background: var(--ov-green-soft);
  border: 1px solid rgba(63,159,105,.14);
  color: var(--ov-green-deep);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.tv-table-scroll,
.tv-fs-pro-text .ai-table-wrap,
.tv-fs-text .ai-table-wrap,
.fs-text .ai-table-wrap,
.otv-table-wrap {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 1.4rem 0;
  padding-bottom: 6px;
}

.tv-table-scroll table,
.tv-fs-pro-text .ai-table-wrap table,
.tv-fs-text .ai-table-wrap table,
.fs-text .ai-table-wrap table,
.tv-fs-pro-text table,
.tv-fs-text table,
.fs-text table,
.otv-table-wrap table {
  width: 100%;
  min-width: 700px;
  margin: 0;
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
  border: 1px solid var(--ov-line);
  border-radius: 20px;
  overflow: hidden;
}

.tv-table-scroll table th,
.tv-table-scroll table td,
.tv-fs-pro-text table th,
.tv-fs-pro-text table td,
.tv-fs-text table th,
.tv-fs-text table td,
.fs-text table th,
.fs-text table td,
.otv-table-wrap table th,
.otv-table-wrap table td {
  padding: 14px 15px;
  border-right: 1px solid var(--ov-line-2);
  border-bottom: 1px solid var(--ov-line-2);
  vertical-align: top;
  text-align: left;
}

.tv-fs-pro-text .ai-proscons,
.tv-fs-text .ai-proscons,
.fs-text .ai-proscons,
.otv-proscons {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 1.4rem 0;
}

.tv-fs-pro-text .ai-pros,
.tv-fs-pro-text .ai-cons,
.tv-fs-text .ai-pros,
.tv-fs-text .ai-cons,
.fs-text .ai-pros,
.fs-text .ai-cons,
.otv-pros,
.otv-cons {
  padding: 18px 18px 16px;
  border-radius: 22px;
  border: 1px solid var(--ov-line);
  box-shadow: var(--ov-shadow-xs);
}

.tv-fs-pro-text .ai-pros,
.tv-fs-text .ai-pros,
.fs-text .ai-pros,
.otv-pros { background: var(--ov-green-soft-2); }

.tv-fs-pro-text .ai-cons,
.tv-fs-text .ai-cons,
.fs-text .ai-cons,
.otv-cons { background: var(--ov-red-soft-2); border-color: var(--ov-red-line); }

.tv-fs-pro-text .ai-faq-item,
.tv-fs-text .ai-faq-item,
.fs-text .ai-faq-item,
.otv-faq-item {
  padding: 1rem 1rem .9rem;
  margin-bottom: .9rem;
  border: 1px solid var(--ov-line);
  border-radius: 20px;
  background: linear-gradient(180deg, #fff 0%, #fbfdfb 100%);
  box-shadow: var(--ov-shadow-xs);
}

.tv-fs-pro-text .ai-summary,
.tv-fs-text .ai-summary,
.fs-text .ai-summary,
.otv-summary {
  margin-top: 1.75rem;
  padding: 1.18rem 1.22rem;
  border-radius: 22px;
  background: linear-gradient(180deg, var(--ov-green-soft-2) 0%, #fff 100%);
  border: 1px solid rgba(63,159,105,.14);
  box-shadow: var(--ov-shadow-xs);
  clear: both;
}

.tv-fs-pro-text img:not(.poster_one):not(.xfieldimage):not(.owl-lazy),
.tv-fs-text img:not(.poster_one):not(.xfieldimage):not(.owl-lazy),
.fs-text img:not(.poster_one):not(.xfieldimage):not(.owl-lazy),
.otv-article-text img {
  display: block;
  margin: 1.35rem auto;
  border-radius: 20px;
  box-shadow: var(--ov-shadow-sm);
}

/* =========================
   14. EVIDENCE / COMPANY RESPONSE
   ========================= */

.otv-evidence-box,
.tv-evidence-box,
.otv-company-response,
.tv-company-response,
.otv-timeline,
.tv-timeline {
  margin: 20px 0;
  padding: 20px;
  border-radius: 24px;
  background: #fff;
  border: 1px solid var(--ov-line);
  box-shadow: var(--ov-shadow-xs);
}

.otv-evidence-box,
.tv-evidence-box {
  background: linear-gradient(180deg, #fff 0%, var(--ov-green-soft-2) 100%);
}

.otv-company-response,
.tv-company-response {
  background: linear-gradient(180deg, #fff 0%, var(--ov-blue-soft) 100%);
  border-color: #d1e2fb;
}

.otv-company-response.is-empty,
.tv-company-response.is-empty {
  background: linear-gradient(180deg, #fff 0%, var(--ov-red-soft-2) 100%);
  border-color: var(--ov-red-line);
}

.otv-evidence-title,
.tv-evidence-title,
.otv-company-title,
.tv-company-title,
.otv-timeline-title,
.tv-timeline-title {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 12px;
  color: var(--ov-text);
  font-size: 1.05rem;
  line-height: 1.3;
  font-weight: 900;
}

.otv-evidence-title::before,
.tv-evidence-title::before,
.otv-company-title::before,
.tv-company-title::before,
.otv-timeline-title::before,
.tv-timeline-title::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--ov-green);
  box-shadow: 0 0 0 6px rgba(63,159,105,.10);
}

.otv-company-response.is-empty .otv-company-title::before,
.tv-company-response.is-empty .tv-company-title::before { background: var(--ov-red); box-shadow: 0 0 0 6px rgba(213,92,92,.10); }

.otv-evidence-grid,
.tv-evidence-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.otv-evidence-item,
.tv-evidence-item {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 50px;
  padding: 12px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid var(--ov-line);
  color: var(--ov-text-2);
  font-weight: 740;
}

.otv-evidence-item::before,
.tv-evidence-item::before {
  content: "✓";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  min-width: 24px;
  border-radius: 50%;
  background: var(--ov-green-soft);
  color: var(--ov-green-deep);
  font-weight: 950;
}

.otv-timeline-list,
.tv-timeline-list {
  list-style: none;
  padding: 0;
  margin: 14px 0 0;
  counter-reset: timeline;
}

.otv-timeline-list li,
.tv-timeline-list li {
  position: relative;
  margin: 0 0 12px;
  padding: 0 0 0 48px;
  min-height: 38px;
}

.otv-timeline-list li::before,
.tv-timeline-list li::before {
  counter-increment: timeline;
  content: counter(timeline);
  position: absolute;
  left: 0;
  top: 0;
  width: 34px;
  height: 34px;
  border-radius: 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--ov-green), #65b980);
  color: #fff;
  font-weight: 950;
  box-shadow: 0 8px 18px rgba(63,159,105,.15);
}

.otv-timeline-list li:nth-child(even)::before,
.tv-timeline-list li:nth-child(even)::before {
  background: linear-gradient(135deg, var(--ov-red), #e48080);
  box-shadow: 0 8px 18px rgba(213,92,92,.12);
}

/* =========================
   15. SIDEBAR / TOP NEWS
   ========================= */

.sidebar .box,
.right .box,
.left .box,
.side-block,
.sidebox,
.sect-side,
.tv-side-card,
.otv-side-card {
  overflow: hidden;
  border: 1px solid var(--ov-line) !important;
  border-radius: 24px !important;
  background: linear-gradient(180deg, #fff 0%, var(--ov-surface-2) 100%) !important;
  box-shadow: var(--ov-shadow-sm) !important;
  color: var(--ov-text-2);
}

.tv-side-card::before,
.otv-side-card::before {
  content: "";
  display: block;
  width: 100%;
  height: 5px;
  background: linear-gradient(90deg, var(--ov-green) 0%, #b9dfc0 55%, var(--ov-red) 100%);
}

.tv-side-card .card-body,
.otv-side-card .card-body { padding: 20px 20px 18px; }

.tv-side-kicker,
.otv-side-kicker {
  display: inline-flex;
  align-items: center;
  padding: 7px 11px;
  border-radius: 999px;
  background: var(--ov-green-soft);
  color: var(--ov-green-deep);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  border: 1px solid rgba(63,159,105,.14);
}

.tv-side-card .card-title,
.otv-side-card .card-title {
  font-size: 1.08rem;
  line-height: 1.25;
  font-weight: 900;
  color: var(--ov-text);
}

.tv-side-divider,
.otv-side-divider {
  width: 100%;
  height: 1px;
  margin: 15px 0 6px;
  background: linear-gradient(90deg, rgba(63,159,105,.20), rgba(213,92,92,.12), transparent);
}

.tv-side-links,
.otv-side-links { padding-top: 8px; }
.tv-side-links li + li,
.otv-side-links li + li { margin-top: 10px; }

.tv-side-links a,
.otv-side-links a {
  position: relative;
  display: flex;
  align-items: center;
  padding: 13px 14px 13px 16px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid var(--ov-line);
  color: var(--ov-text-2);
  font-size: .95rem;
  font-weight: 760;
  line-height: 1.35;
  text-decoration: none !important;
}

.tv-side-links a::before,
.otv-side-links a::before {
  content: "";
  width: 8px;
  height: 8px;
  min-width: 8px;
  margin-right: 10px;
  border-radius: 999px;
  background: var(--ov-red);
  box-shadow: 0 0 0 5px rgba(213,92,92,.08);
}

.tv-side-links a:hover,
.otv-side-links a:hover {
  background: var(--ov-green-soft);
  border-color: var(--ov-green-pale);
  color: var(--ov-green-deep);
  transform: translateY(-1px);
}

.tv-top-news-item { margin-bottom: 12px; }
.tv-top-news-item:last-child { margin-bottom: 0; }

.tv-top-news-link {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px;
  background: #fff;
  border: 1px solid var(--ov-line);
  border-radius: 18px;
  box-shadow: var(--ov-shadow-xs);
  text-decoration: none !important;
  overflow: hidden;
}

.tv-top-news-link::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--ov-green), var(--ov-red));
}

.tv-top-news-link:hover,
.tv-top-news-link:focus {
  transform: translateY(-1px);
  background: var(--ov-green-soft-2);
  border-color: var(--ov-line-strong);
}

.tv-top-news-thumb-wrap { flex: 0 0 104px; width: 104px; z-index: 2; }
.tv-top-news-thumb {
  display: block;
  width: 104px;
  height: 70px;
  object-fit: cover;
  border-radius: 14px;
  border: 1px solid var(--ov-line);
  background: var(--ov-bg-2);
}

.tv-top-news-body { z-index: 2; min-width: 0; flex: 1 1 auto; }
.tv-top-news-title {
  margin-bottom: 8px;
  color: var(--ov-text);
  font-size: .94rem;
  line-height: 1.34;
  font-weight: 850;
}
.tv-top-news-link:hover .tv-top-news-title { color: var(--ov-red-dark); }

.tv-top-news-meta { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.tv-top-news-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 27px;
  padding: 5px 9px;
  border-radius: 999px;
  background: var(--ov-green-soft-2);
  border: 1px solid var(--ov-line);
  color: var(--ov-muted);
  font-size: .72rem;
  line-height: 1.2;
  font-weight: 760;
}

/* =========================
   16. AUTH / PROFILE / REGISTER
   ========================= */

.tv-auth-card,
.tv-register-card,
.tv-login-card,
.tv-user-card,
.tv-profile-card {
  position: relative;
  overflow: hidden;
}

.tv-auth-card::before,
.tv-register-card::before,
.tv-login-card::before,
.tv-user-card::before,
.tv-profile-card::before {
  content: "";
  display: block;
  width: 100%;
  height: 5px;
  background: linear-gradient(90deg, var(--ov-green) 0%, #b9dfc0 55%, var(--ov-red) 100%);
}

.tv-auth-card .card-body,
.tv-auth-card-body,
.tv-login-card .card-body,
.tv-user-card .card-body,
.tv-profile-main .card-body {
  padding: 22px !important;
}

.tv-user-top {
  display: flex;
  align-items: center;
  gap: 14px;
}

.tv-user-avatar,
.tv-profile-avatar {
  object-fit: cover;
  border: 2px solid var(--ov-green-pale);
  box-shadow: 0 10px 24px rgba(63,159,105,.10);
  background: var(--ov-bg-2);
}

.tv-user-avatar {
  width: 64px;
  height: 64px;
  border-radius: 18px;
}

.tv-user-kicker,
.tv-profile-kicker,
.tv-auth-kicker {
  display: inline-flex;
  align-items: center;
  padding: 7px 11px;
  border-radius: 999px;
  background: var(--ov-green-soft);
  color: var(--ov-green-deep);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  border: 1px solid rgba(63,159,105,.14);
  margin-bottom: 8px;
}

.tv-user-title,
.tv-profile-title,
.tv-auth-title {
  margin: 0 0 6px;
  color: var(--ov-text);
  font-weight: 900;
  letter-spacing: -.035em;
}

.tv-user-title { font-size: 1.08rem; }
.tv-profile-title { font-size: 1.58rem; line-height: 1.14; }
.tv-auth-title { font-size: 1.55rem; line-height: 1.15; display: flex; align-items: center; gap: 10px; }

.tv-user-name,
.tv-profile-name {
  color: var(--ov-muted);
  font-weight: 650;
}

.tv-user-menu .list-group-item {
  display: flex;
  align-items: center;
  padding: 13px 18px;
  border: 0 !important;
  border-top: 1px solid var(--ov-line-2) !important;
  background: #fff;
  color: var(--ov-text-2);
  font-size: .95rem;
  font-weight: 700;
  line-height: 1.35;
}

.tv-user-menu .list-group-item i { color: var(--ov-green); }
.tv-user-menu .list-group-item:hover { background: var(--ov-green-soft); color: var(--ov-green-deep); padding-left: 22px; }
.tv-logout-link:hover { color: var(--ov-red-dark) !important; background: var(--ov-red-soft) !important; }
.tv-logout-link i { color: var(--ov-red) !important; }

.tv-auth-input,
.tv-auth-textarea,
.tv-auth-file,
.tv-register-card input[type="text"],
.tv-register-card input[type="email"],
.tv-register-card input[type="password"],
.tv-register-card input[type="file"],
.tv-register-card textarea,
.tv-register-card select {
  width: 100%;
  min-height: 48px;
  padding: 0 15px;
  border-radius: 15px !important;
  border: 1px solid #cfdbd0 !important;
  background: #fff !important;
  color: var(--ov-text) !important;
  box-shadow: none !important;
}

.tv-auth-textarea,
.tv-register-card textarea { min-height: 130px; padding: 13px 15px; resize: vertical; }
.tv-auth-file,
.tv-register-card input[type="file"] { padding: 10px 12px; min-height: auto; }

.tv-login-sep {
  position: relative;
  text-align: center;
  margin: 15px 0 17px;
}
.tv-login-sep::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 1px;
  background: var(--ov-line);
}
.tv-login-sep span {
  position: relative;
  z-index: 2;
  display: inline-block;
  padding: 0 11px;
  background: #fff;
  color: var(--ov-muted);
  font-size: .88rem;
  font-weight: 650;
}

.tv-profile-info-box,
.tv-profile-signature,
.tv-profile-options,
.tv-upload-box,
.tv-auth-alert,
.tv-auth-subcard,
.tv-auth-captcha {
  padding: 15px 16px;
  border-radius: 18px;
  background: var(--ov-green-soft-2);
  border: 1px solid var(--ov-line);
  color: var(--ov-text-2);
  line-height: 1.65;
}

.tv-profile-action,
.tv-profile-action-static {
  display: flex;
  align-items: center;
  min-height: 54px;
  padding: 14px 16px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid var(--ov-line);
  color: var(--ov-text-2) !important;
  font-size: .95rem;
  font-weight: 760;
  line-height: 1.35;
  text-decoration: none !important;
}

.tv-profile-action i,
.tv-profile-action-static i { color: var(--ov-green); }
.tv-profile-action:hover { background: var(--ov-green-soft); color: var(--ov-green-deep) !important; transform: translateY(-1px); }

.tv-profile-table td {
  padding: 12px 14px !important;
  border-top: 1px solid var(--ov-line-2) !important;
  vertical-align: middle;
  font-size: .94rem;
  line-height: 1.45;
}
.tv-profile-table tr:first-child td { border-top: 0 !important; }
.tv-profile-table td:first-child { width: 38%; color: var(--ov-muted); font-weight: 760; background: var(--ov-green-soft-2); }
.tv-profile-table td:last-child { color: var(--ov-text); font-weight: 540; }

/* =========================
   17. COMMENTS
   ========================= */

.db-comment,
.tv-comment,
.otv-comment {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin: 0 0 18px;
  padding: 18px;
  background: linear-gradient(180deg, #fff 0%, var(--ov-surface-2) 100%);
  border: 1px solid var(--ov-line);
  border-radius: 24px;
  box-shadow: var(--ov-shadow-xs);
  overflow: hidden;
}

.db-comment::before,
.tv-comment::before,
.otv-comment::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 5px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--ov-green), var(--ov-red));
}

.db-comment-avatar { flex: 0 0 56px; position: relative; z-index: 2; }
.db-comment-avatar-img {
  display: block;
  width: 56px;
  height: 56px;
  object-fit: cover;
  border-radius: 18px;
  border: 2px solid var(--ov-green-pale);
  background: var(--ov-bg-2);
  box-shadow: 0 10px 24px rgba(63,159,105,.10);
}

.db-comment-body { flex: 1 1 auto; min-width: 0; position: relative; z-index: 2; }
.db-comment-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--ov-line-2);
}
.db-comment-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; min-width: 0; }
.db-comment-author,
.db-comment-date,
.db-comment-parent {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 7px 12px;
  border-radius: 999px;
  border: 1px solid var(--ov-line);
  font-size: .88rem;
  font-weight: 760;
  line-height: 1.2;
  white-space: nowrap;
}
.db-comment-author { background: var(--ov-green-soft); color: var(--ov-green-deep) !important; border-color: var(--ov-green-pale); font-weight: 850; }
.db-comment-date,
.db-comment-parent { background: #fff; color: var(--ov-muted); }

.db-comment-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.db-comment-content { color: var(--ov-text-2); font-size: 1rem; line-height: 1.8; word-wrap: break-word; }
.db-comment-content p:last-child { margin-bottom: 0; }
.db-comment-content a { color: var(--ov-green-dark); font-weight: 700; word-break: break-word; }
.db-comment-content a:hover { color: var(--ov-red-dark); }
.db-comment-content img { max-width: 100%; height: auto; border-radius: 16px; }
.db-comment-signature { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--ov-line); color: var(--ov-muted); font-size: .92rem; line-height: 1.65; font-style: italic; }

.db-comment .db-comment { margin-top: 14px; margin-left: 8px; background: var(--ov-green-soft-2); border-color: rgba(63,159,105,.10); }

/* =========================
   18. PAGINATION / BREADCRUMBS / FOOTER
   ========================= */

.breadcrumb,
.bread,
.navigation,
.speedbar {
  background: #fff;
  border: 1px solid var(--ov-line);
  border-radius: 16px;
  color: var(--ov-muted);
  box-shadow: var(--ov-shadow-xs);
}

.breadcrumb a,
.speedbar a { color: var(--ov-green-dark); }

.pagination,
.pages,
.navigation { gap: 7px; }

.page-link,
.pages a,
.navigation a,
.pages span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 42px;
  padding: 0 13px;
  border-radius: 14px;
  border: 1px solid var(--ov-line);
  background: #fff;
  color: var(--ov-text-2);
  box-shadow: var(--ov-shadow-xs);
}

.page-link:hover,
.pages a:hover,
.navigation a:hover {
  background: var(--ov-green-soft);
  color: var(--ov-green-deep);
  border-color: var(--ov-green-pale);
}

.pages span,
.page-item.active .page-link {
  background: linear-gradient(135deg, var(--ov-green) 0%, #65b980 100%);
  border-color: transparent;
  color: #fff;
  font-weight: 850;
}

footer,
.footer,
#footer {
  background: transparent;
  color: var(--ov-muted);
  border-top: 1px solid rgba(31,111,73,.10);
}

footer a,
.footer a,
#footer a { color: var(--ov-green-dark); }

/* =========================
   19. CODE / DOWNLOAD / SERVICE BOXES
   ========================= */

code,
pre { border-radius: 16px; }

pre {
  padding: 16px 18px;
  background: #14201a;
  border: 1px solid rgba(17,32,27,.10);
  color: #eef7f0;
  overflow: auto;
}

code {
  color: var(--ov-green-deep);
  background: var(--ov-green-soft);
  padding: 2px 7px;
}

.tv-download-box,
.ai-download-box,
.otv-submit-story {
  margin: 22px 0 26px;
  padding: 22px;
  border-radius: 24px;
  background: linear-gradient(180deg, #fff 0%, var(--ov-green-soft-2) 100%);
  border: 1px solid var(--ov-line);
  box-shadow: var(--ov-shadow-sm);
}

.tv-download-title,
.ai-download-title,
.otv-submit-title {
  font-size: 1.22rem;
  line-height: 1.25;
  font-weight: 900;
  margin-bottom: 8px;
  color: var(--ov-text);
}

.tv-download-text,
.ai-download-text,
.otv-submit-text {
  font-size: .96rem;
  line-height: 1.6;
  color: var(--ov-text-2);
  margin-bottom: 16px;
}

.ai-download-delay-note,
.tv-download-delay-note {
  margin-top: 14px;
  padding: 14px 16px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid var(--ov-line);
  color: var(--ov-text-2);
  font-size: 14px;
  line-height: 1.5;
}

/* =========================
   20. FAQ CURSOR
   ========================= */

.ai-faq-item,
.ai-faq-question,
.ai-faq-question *,
.ai-faq-item.faq-collapsed,
.ai-faq-item.faq-collapsed .ai-faq-question,
.ai-faq-item.faq-open .ai-faq-question { cursor: pointer !important; }

.ai-faq-question { position: relative; display: block; }
.ai-faq-answer,
.ai-faq-answer * { cursor: default; }

/* =========================
   21. RESPONSIVE
   ========================= */

@media (max-width: 1299.98px) {
  .site-search-wrap { width: 300px; min-width: 300px; flex-basis: 300px; }
  .site-main-nav .nav-link { padding-left: 15px !important; padding-right: 15px !important; }
}

@media (max-width: 1199.98px) {
  .container { max-width: 1140px; }
  .site-header-tech .navbar-collapse { gap: 14px; }
  .site-search-wrap { width: 250px; min-width: 250px; flex-basis: 250px; }
  .site-main-nav { gap: 7px; }
  .site-main-nav .nav-link { min-height: 46px; padding: 13px 13px !important; font-size: .91rem; }
  .tv-fs-pro-hero,
  .tv-fs-hero,
  .otv-fullstory-hero { grid-template-columns: 360px minmax(0,1fr); }
  .tv-fs-pro-text > .ai-note,
  .tv-fs-text > .ai-note,
  .fs-text > .ai-note { width: min(330px, 45%); }
  .tv-fs-pro-text .ai-toc,
  .tv-fs-text .ai-toc,
  .fs-text .ai-toc { width: min(300px, 40%); }
}

@media (max-width: 991.98px) {
  .site-header-tech { padding: 0; }
  .site-header-inner { min-height: 76px; }
  .site-header-tech .navbar-collapse { flex-wrap: wrap; align-items: stretch; padding: 12px 0 16px; }
  .site-main-nav {
    flex: 1 1 100%;
    order: 1;
    margin-top: 12px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 8px;
    overflow: visible;
  }
  .site-main-nav .nav-item { width: 100%; }
  .site-main-nav .nav-link { width: 100%; text-align: left; min-height: 48px; padding: 14px 16px !important; }
  .site-nav-right {
    order: 2;
    display: block;
    width: 100%;
    margin-top: 12px;
  }
  .site-contact-link { display: flex; width: 100%; margin-bottom: 9px; }
  .site-search-form {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    margin-left: 0;
    gap: 10px;
  }
  .site-search-wrap { width: 100% !important; min-width: 100% !important; flex: 1 1 auto; }
  .site-search-btn { width: 100% !important; }

  .coffee-main-col,
  .coffee-side-col,
  .otv-main-col,
  .otv-side-col { padding-left: 15px; padding-right: 15px; }

  .tv-fs-pro-hero,
  .tv-fs-hero,
  .otv-fullstory-hero {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .tv-fs-pro-poster-image,
  .tv-fs-hero-image,
  .tv-fs-pro-poster img,
  .tv-fs-hero-poster img { min-height: 260px; max-height: 440px; }
  .tv-fs-pro-text,
  .tv-fs-text,
  .fs-text,
  .otv-article-text { font-size: 16px; line-height: 1.82; }
  .tv-fs-pro-text > .ai-note,
  .tv-fs-text > .ai-note,
  .fs-text > .ai-note,
  .tv-fs-pro-text .ai-toc,
  .tv-fs-text .ai-toc,
  .fs-text .ai-toc {
    float: none;
    width: 100%;
    max-width: 100%;
    margin: 0 0 1.18rem;
  }
  .tv-fs-pro-text .ai-proscons,
  .tv-fs-text .ai-proscons,
  .fs-text .ai-proscons,
  .otv-proscons { grid-template-columns: 1fr; }
  .otv-evidence-grid,
  .tv-evidence-grid { grid-template-columns: 1fr; }
  .tv-shortstory-footer,
  .otv-case-footer { flex-direction: column; align-items: stretch; }
  .tv-shortstory-actions,
  .otv-case-actions { justify-content: flex-start; }
}

@media (max-width: 767.98px) {
  .site-header-inner { min-height: 68px; }
  .site-logo,
  .site-logo.tv-logo,
  .tv-logo { gap: 10px; margin-right: 12px; }
  .tv-logo-mark,
  .site-logo-mark { width: 44px; height: 44px; min-width: 44px; border-radius: 15px; }
  .tv-logo-icon,
  .site-logo-icon { font-size: 21px; }
  .tv-logo-main,
  .site-logo .lgg { font-size: 1.38rem; }
  .tv-logo-dot,
  .site-logo-accent { font-size: .94rem; }
  .tv-logo-sub,
  .tv-logo-text::after { font-size: .50rem; letter-spacing: .14em; }

  .homepage-hero,
  .otv-hero { border-radius: 24px !important; }
  .homepage-hero .card-body,
  .otv-hero .card-body,
  .otv-hero-inner,
  .tv-shortstory-body,
  .otv-case-card-body,
  .tv-fs-pro-body,
  .tv-fs-body,
  .otv-fullstory-body,
  .tv-comments-card .card-body,
  .fs-comments-card .card-body { padding: 18px !important; }
  .homepage-hero h1,
  .otv-hero h1 { font-size: clamp(1.65rem, 7.2vw, 2.25rem) !important; line-height: 1.04 !important; }
  .homepage-hero p,
  .otv-hero p,
  .tv-shortstory-excerpt,
  .otv-case-excerpt,
  .tv-fs-pro-text,
  .tv-fs-text,
  .fs-text,
  .otv-article-text { font-size: .94rem !important; line-height: 1.68 !important; }
  .tv-shortstory-image,
  .otv-case-image { min-height: 170px; }
  .tv-shortstory-readmore,
  .otv-case-readmore { width: 100%; }
  .tv-fs-pro-title,
  .tv-fs-title,
  .otv-fullstory-title { padding-right: 0; font-size: 1.72rem; line-height: 1.12; }
  .tv-fs-pro-poster,
  .tv-fs-hero-poster,
  .otv-fullstory-poster { border-radius: 20px; min-height: 210px; }
  .tv-fs-pro-poster-image,
  .tv-fs-hero-image,
  .tv-fs-pro-poster img,
  .tv-fs-hero-poster img { min-height: 210px; }
  .db-comment { gap: 12px; padding: 14px; border-radius: 20px; }
  .db-comment-avatar { flex: 0 0 46px; }
  .db-comment-avatar-img { width: 46px; height: 46px; border-radius: 15px; }
  .db-comment-head { flex-direction: column; align-items: stretch; gap: 10px; }
  .db-comment-actions { justify-content: flex-start; }
}

@media (max-width: 575.98px) {
  .site-header-tech .container { padding-left: 12px; padding-right: 12px; }
  .site-main-nav { grid-template-columns: 1fr; }
  .site-search-input,
  .site-search-btn { height: 44px !important; min-height: 44px !important; }
  .tv-logo-main,
  .site-logo .lgg { font-size: 1.27rem; }
  .tv-logo-dot,
  .site-logo-accent { font-size: .88rem; }
  .tv-logo-text::after { display: none; }
  .tv-logo-mark,
  .site-logo-mark { width: 40px; height: 40px; min-width: 40px; }
  .tv-shortstory .row,
  .otv-case-card .row { margin-left: -6px; margin-right: -6px; }
  .tv-shortstory .row > [class*="col-"],
  .otv-case-card .row > [class*="col-"] { padding-left: 6px; padding-right: 6px; }
  .tv-shortstory-body,
  .otv-case-card-body { padding: 14px !important; }
  .tv-shortstory-title,
  .otv-case-title { font-size: 1.18rem; line-height: 1.22; }
  .tv-shortstory-meta .list-inline-item,
  .otv-case-meta-item { font-size: .72rem; padding: 5px 9px; }
  .tv-top-news-thumb-wrap { flex-basis: 84px; width: 84px; }
  .tv-top-news-thumb { width: 84px; height: 58px; }
  .tv-top-news-title { font-size: .86rem; }
  .page-link,
  .pages a,
  .navigation a,
  .pages span { min-width: 38px; height: 38px; padding: 0 10px; }
}
/* =========================================================
   OTZYVITO HEADER — FIXED COMPACT LAYOUT
   ========================================================= */
/* =========================================================
   OTZYVITO HEADER — NO SEARCH FINAL
   ========================================================= */

.ov-head {
	position: sticky;
	top: 0;
	z-index: 1300;
	padding: 0 !important;
	background: rgba(255, 255, 255, 0.96) !important;
	border-bottom: 1px solid #dfe9df !important;
	box-shadow: 0 10px 30px rgba(17, 32, 27, 0.06) !important;
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
}

.ov-head::after,
.site-header-tech::after {
	display: none !important;
}

.ov-head__inner {
	min-height: 78px;
	display: flex;
	align-items: center;
	gap: 26px;
}

/* LOGO */

.ov-logo {
	display: inline-flex !important;
	align-items: center;
	gap: 12px;
	min-width: 238px;
	margin: 0 !important;
	padding: 0 !important;
	color: #17201b !important;
	text-decoration: none !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

.ov-logo:hover,
.ov-logo:focus {
	color: #17201b !important;
	text-decoration: none !important;
}

.ov-logo__mark {
	position: relative;
	width: 50px;
	height: 50px;
	min-width: 50px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 18px;
	background: linear-gradient(135deg, #eef8f0 0%, #ffffff 54%, #fff1f1 100%);
	border: 1px solid rgba(47, 143, 92, 0.20);
	box-shadow: 0 12px 26px rgba(17, 32, 27, 0.08);
	overflow: hidden;
}

.ov-logo__mark::before {
	content: "";
	position: absolute;
	inset: 9px;
	border-radius: 13px;
	border: 2px solid rgba(47, 143, 92, 0.45);
	background: rgba(255, 255, 255, 0.58);
}

.ov-logo__letters {
	position: relative;
	z-index: 2;
	font-size: 15px;
	line-height: 1;
	font-weight: 950;
	letter-spacing: -0.06em;
	color: #1f6f49;
}

.ov-logo__dot {
	position: absolute;
	right: 8px;
	bottom: 8px;
	z-index: 3;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: #c94d4d;
	box-shadow: 0 0 0 5px rgba(201, 77, 77, 0.11);
}

.ov-logo__text {
	min-width: 0;
	display: grid;
	grid-template-columns: auto auto;
	grid-template-rows: auto auto;
	column-gap: 5px;
	row-gap: 3px;
	align-items: end;
	line-height: 1;
}

.ov-logo__name {
	grid-column: 1;
	grid-row: 1;
	font-size: 1.9rem;
	font-weight: 950;
	letter-spacing: -0.06em;
	color: #17201b;
	line-height: 0.95;
}

.ov-logo__domain {
	grid-column: 2;
	grid-row: 1;
	align-self: end;
	margin-bottom: 2px;
	font-size: 1rem;
	font-weight: 950;
	letter-spacing: -0.03em;
	color: #a83737;
	line-height: 1;
}

.ov-logo__sub {
	grid-column: 1 / 3;
	grid-row: 2;
	font-size: 0.58rem;
	font-weight: 850;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #66736b;
	white-space: nowrap;
}

/* MENU */

.ov-collapse {
	min-width: 0;
	flex: 1 1 auto;
}

.ov-menu {
	min-width: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin: 0 auto !important;
	padding: 0 !important;
	flex: 1 1 auto;
}

.ov-menu .nav-item {
	margin: 0 !important;
}

.ov-menu .nav-link {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 44px;
	padding: 11px 15px !important;
	border-radius: 15px;
	border: 1px solid transparent !important;
	background: transparent !important;
	color: #253129 !important;
	font-size: 0.93rem;
	line-height: 1;
	font-weight: 850;
	white-space: nowrap;
	text-decoration: none !important;
	box-shadow: none !important;
	transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

.ov-menu .nav-link::before,
.ov-menu .nav-link::after {
	display: none !important;
}

.ov-menu .nav-link .iconify {
	font-size: 17px;
	color: currentColor;
	opacity: 0.75;
}

.ov-menu .nav-link:hover,
.ov-menu .nav-link:focus,
.ov-menu .active .nav-link,
.ov-menu .nav-link.active {
	background: #eef8f0 !important;
	border-color: rgba(47, 143, 92, 0.16) !important;
	color: #1f6f49 !important;
	transform: translateY(-1px);
}

/* CTA */

.ov-actions {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	margin-left: 16px;
}

.ov-add-link {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 44px;
	padding: 11px 17px !important;
	border-radius: 15px;
	background: #fff1f1;
	border: 1px solid rgba(201, 77, 77, 0.16);
	color: #a83737 !important;
	font-size: 0.91rem;
	line-height: 1;
	font-weight: 900;
	white-space: nowrap;
	text-decoration: none !important;
	box-shadow: 0 8px 18px rgba(201, 77, 77, 0.06);
	transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.ov-add-link:hover,
.ov-add-link:focus {
	background: #fee7e7;
	border-color: rgba(201, 77, 77, 0.24);
	color: #8f2f2f !important;
	transform: translateY(-1px);
	box-shadow: 0 12px 24px rgba(201, 77, 77, 0.10);
}

/* убираем старый поиск из шапки, если где-то остался */
.ov-head .site-search-form,
.ov-head .site-search-wrap,
.ov-head .site-search-input,
.ov-head .site-search-btn,
.ov-search-row,
.ov-search {
	display: none !important;
}

/* BURGER */

.ov-toggler {
	width: 46px;
	height: 46px;
	padding: 0 !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 15px;
	border: 1px solid #dfe9df !important;
	background: #ffffff !important;
	color: #17201b !important;
	box-shadow: 0 6px 16px rgba(17, 32, 27, 0.045);
}

.ov-toggler .iconify {
	font-size: 23px;
}

/* RESPONSIVE */

@media (max-width: 1240px) {
	.ov-head__inner {
		gap: 18px;
	}

	.ov-logo {
		min-width: 220px;
	}

	.ov-logo__name {
		font-size: 1.72rem;
	}

	.ov-menu {
		gap: 6px;
	}

	.ov-menu .nav-link {
		padding-left: 11px !important;
		padding-right: 11px !important;
		font-size: 0.88rem;
	}

	.ov-add-link {
		padding-left: 13px !important;
		padding-right: 13px !important;
		font-size: 0.86rem;
	}
}

@media (max-width: 991.98px) {
	.ov-head {
		padding: 10px 0 !important;
	}

	.ov-head__inner {
		min-height: 56px;
		align-items: center;
		flex-wrap: wrap;
	}

	.ov-logo {
		min-width: 0;
	}

	.ov-logo__mark {
		width: 44px;
		height: 44px;
		min-width: 44px;
		border-radius: 16px;
	}

	.ov-logo__mark::before {
		inset: 8px;
		border-radius: 12px;
	}

	.ov-logo__letters {
		font-size: 13px;
	}

	.ov-logo__name {
		font-size: 1.52rem;
	}

	.ov-logo__domain {
		font-size: 0.88rem;
	}

	.ov-logo__sub {
		font-size: 0.52rem;
		letter-spacing: 0.13em;
	}

	.ov-collapse {
		flex-basis: 100%;
		width: 100%;
		padding-top: 12px;
	}

	.ov-menu {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
		width: 100%;
		margin-bottom: 10px !important;
	}

	.ov-menu .nav-link {
		width: 100%;
		justify-content: flex-start;
		min-height: 44px;
		padding: 12px 13px !important;
		background: #ffffff !important;
		border-color: #dfe9df !important;
	}

	.ov-actions {
		margin-left: 0;
		width: 100%;
	}

	.ov-add-link {
		width: 100%;
		min-height: 46px;
	}
}

@media (max-width: 575.98px) {
	.ov-logo__sub {
		display: none;
	}

	.ov-logo__name {
		font-size: 1.34rem;
	}

	.ov-logo__domain {
		font-size: 0.82rem;
	}

	.ov-menu {
		grid-template-columns: 1fr;
	}
}
/* =========================================================
   OTZYVITO SIDEBAR SEARCH
   ========================================================= */
/* =========================================================
   OTZYVITO SIDEBAR SEARCH — HARD FIX
   ========================================================= */

.ov-side-search-mini {
	border: 1px solid #dfe9df !important;
	border-radius: 18px !important;
	background: #ffffff !important;
	box-shadow: 0 8px 22px rgba(17, 32, 27, 0.045) !important;
	overflow: hidden;
}

.ov-side-search-mini::before {
	content: "";
	display: block;
	width: 100%;
	height: 3px;
	background: linear-gradient(90deg, #2f8f5c 0%, #e5eee5 58%, #c94d4d 100%);
}

.ov-side-search-mini .card-body {
	padding: 13px !important;
}

.ov-side-search-mini-title {
	margin: 0 0 9px !important;
	color: #17201b;
	font-size: 0.9rem;
	line-height: 1.2;
	font-weight: 900;
	letter-spacing: -0.02em;
}

/* форма строго в одну линию */
.ov-side-search-mini-form {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	flex-wrap: nowrap !important;
	gap: 8px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* поле не имеет права залезать на кнопку */
.ov-side-search-mini-field {
	position: relative !important;
	flex: 1 1 auto !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	height: 38px !important;
	display: block !important;
}

/* лупа ровно по центру */
.ov-side-search-mini-icon {
	position: absolute !important;
	left: 11px !important;
	top: 0 !important;
	bottom: 0 !important;
	z-index: 3 !important;
	width: 16px !important;
	height: 38px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	transform: none !important;
	font-size: 16px !important;
	line-height: 38px !important;
	color: #7b887f !important;
	pointer-events: none !important;
}

/* инпут строго внутри своей зоны */
.ov-side-search-mini-input,
.form-control.ov-side-search-mini-input {
	position: relative !important;
	z-index: 1 !important;
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	height: 38px !important;
	min-height: 38px !important;
	margin: 0 !important;
	padding: 0 10px 0 35px !important;
	border-radius: 12px !important;
	border: 1px solid #d8e4d8 !important;
	background: #fbfdfb !important;
	color: #17201b !important;
	font-size: 0.82rem !important;
	font-weight: 650 !important;
	line-height: 38px !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
}

.ov-side-search-mini-input::placeholder {
	color: #7b887f !important;
	font-size: 0.78rem !important;
	font-weight: 550 !important;
}

.ov-side-search-mini-input:focus {
	background: #ffffff !important;
	border-color: rgba(47, 143, 92, 0.45) !important;
	box-shadow: 0 0 0 0.14rem rgba(47, 143, 92, 0.10) !important;
	outline: none !important;
}

/* кнопка отдельная, поверх неё ничего не залезает */
.ov-side-search-mini-btn {
	position: relative !important;
	z-index: 5 !important;
	flex: 0 0 66px !important;
	width: 66px !important;
	min-width: 66px !important;
	max-width: 66px !important;
	height: 38px !important;
	min-height: 38px !important;
	margin: 0 !important;
	padding: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	border: 0 !important;
	border-radius: 12px !important;
	background: #2f8f5c !important;
	color: #ffffff !important;
	font-size: 0.8rem !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	text-align: center !important;
	white-space: nowrap !important;
	box-shadow: 0 7px 16px rgba(47, 143, 92, 0.14) !important;
	cursor: pointer !important;
	box-sizing: border-box !important;
}

.ov-side-search-mini-btn:hover,
.ov-side-search-mini-btn:focus {
	background: #26764c !important;
	color: #ffffff !important;
	transform: translateY(-1px);
	box-shadow: 0 10px 20px rgba(47, 143, 92, 0.20) !important;
	outline: none !important;
}

/* на очень узком сайдбаре чуть компактнее */
@media (max-width: 1199.98px) {
	.ov-side-search-mini-form {
		gap: 7px !important;
	}

	.ov-side-search-mini-btn {
		flex-basis: 62px !important;
		width: 62px !important;
		min-width: 62px !important;
		max-width: 62px !important;
		font-size: 0.78rem !important;
	}

	.ov-side-search-mini-input,
	.form-control.ov-side-search-mini-input {
		font-size: 0.78rem !important;
	}

	.ov-side-search-mini-input::placeholder {
		font-size: 0.74rem !important;
	}
}
/* ===== SIDEBAR SEARCH TEXT FIX ===== */

.ov-side-search-mini-input,
.form-control.ov-side-search-mini-input {
	font-size: 0.78rem !important;
	padding-left: 34px !important;
	padding-right: 8px !important;
}

.ov-side-search-mini-input::placeholder {
	font-size: 0.76rem !important;
	letter-spacing: -0.01em;
}

.ov-side-search-mini-btn {
	flex: 0 0 58px !important;
	width: 58px !important;
	min-width: 58px !important;
	max-width: 58px !important;
	font-size: 0.76rem !important;
}

.ov-side-search-mini-form {
	gap: 6px !important;
}

.tv-side-links a {
	font-size: 0.9rem !important;
	line-height: 1.32 !important;
}
/* =========================================================
   OTZYVITO 2026 HEADER — CLEAN SERVICE UI
   Полностью новый хедер. Не использует старые ov-head / ovx / ov-safe.
   ========================================================= */

.ov2026-header {
	position: sticky;
	top: 0;
	z-index: 1400;
	width: 100%;
	padding: 0 !important;
	background:
		linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(250,253,250,.96) 100%) !important;
	border-bottom: 1px solid rgba(31, 111, 73, .13) !important;
	box-shadow: 0 10px 30px rgba(17, 32, 27, .06) !important;
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
}

.ov2026-header::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 3px;
	background: linear-gradient(90deg, #2f8f5c 0%, #dfe9df 52%, #c94d4d 100%);
}

.ov2026-header__inner {
	min-height: 82px;
	display: flex;
	align-items: center;
	gap: 24px;
}

/* ===== BRAND ===== */

.ov2026-brand {
	flex: 0 0 auto;
	min-width: 260px;
	display: inline-flex !important;
	align-items: center;
	gap: 12px;
	margin: 0 !important;
	padding: 0 !important;
	color: #17201b !important;
	text-decoration: none !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	line-height: 1 !important;
}

.ov2026-brand:hover,
.ov2026-brand:focus {
	color: #17201b !important;
	text-decoration: none !important;
}

.ov2026-brand__mark {
	position: relative;
	width: 54px;
	height: 54px;
	min-width: 54px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 18px;
	background:
		radial-gradient(circle at 28% 18%, rgba(255,255,255,.9), transparent 30%),
		linear-gradient(135deg, #eef8f0 0%, #ffffff 50%, #fff1f1 100%);
	border: 1px solid rgba(47, 143, 92, .18);
	box-shadow:
		0 12px 26px rgba(17, 32, 27, .08),
		inset 0 1px 0 rgba(255,255,255,.85);
	overflow: hidden;
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.ov2026-brand:hover .ov2026-brand__mark {
	transform: translateY(-1px);
	border-color: rgba(201, 77, 77, .20);
	box-shadow:
		0 16px 32px rgba(17, 32, 27, .10),
		inset 0 1px 0 rgba(255,255,255,.9);
}

.ov2026-brand__svg {
	position: relative;
	z-index: 2;
	width: 38px;
	height: 38px;
	display: block;
}

.ov2026-svg-paper {
	fill: #ffffff;
	stroke: #2f8f5c;
	stroke-width: 3;
}

.ov2026-svg-lines {
	fill: none;
	stroke: #1f6f49;
	stroke-width: 3.2;
	stroke-linecap: round;
	opacity: .85;
}

.ov2026-svg-bubble {
	fill: #fff1f1;
	stroke: #c94d4d;
	stroke-width: 3;
}

.ov2026-svg-alert {
	fill: #c94d4d;
}

.ov2026-brand__text {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.ov2026-brand__row {
	display: inline-flex;
	align-items: flex-end;
	gap: 8px;
	white-space: nowrap;
}

.ov2026-brand__name {
	color: #17201b;
	font-size: 2rem;
	font-weight: 750;
}

.ov2026-brand__domain {
	position: relative;
	top: -2px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 24px;
	padding: 5px 8px 4px;
	border-radius: 999px;
	background: #fff1f1;
	border: 1px solid rgba(201, 77, 77, .18);
	color: #a83737;
	font-size: .72rem;
	font-weight: 950;
	line-height: 1;
	letter-spacing: -0.03em;
	box-shadow: 0 6px 14px rgba(201, 77, 77, .06);
}

.ov2026-brand__sub {
	display: inline-flex;
	align-items: center;
	color: #64736a;
	font-size: .62rem;
	font-weight: 850;
	letter-spacing: .13em;
	text-transform: uppercase;
	white-space: nowrap;
}

.ov2026-brand__sub::before {
	content: "";
	width: 7px;
	height: 7px;
	min-width: 7px;
	margin-right: 7px;
	border-radius: 50%;
	background: #c94d4d;
	box-shadow: 0 0 0 5px rgba(201, 77, 77, .08);
}

/* ===== COLLAPSE ===== */

.ov2026-collapse {
	min-width: 0;
	flex: 1 1 auto;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

/* ===== MENU WITH ICONS ===== */

.ov2026-menu {
	min-width: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin: 0 auto !important;
	padding: 0 !important;
}

.ov2026-menu .nav-item {
	margin: 0 !important;
}

.ov2026-menu .nav-link {
	position: relative;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 44px;
	padding: 11px 13px !important;
	border-radius: 15px;
	border: 1px solid transparent !important;
	background: transparent !important;
	color: #263328 !important;
	font-size: .9rem;
	line-height: 1;
	font-weight: 850;
	white-space: nowrap;
	text-decoration: none !important;
	box-shadow: none !important;
	transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.ov2026-menu .nav-link::before,
.ov2026-menu .nav-link::after {
	display: none !important;
}

.ov2026-menu__icon {
	font-size: 18px;
	color: currentColor;
	opacity: .78;
	transition: opacity .18s ease, transform .18s ease;
}

.ov2026-menu .nav-link:hover,
.ov2026-menu .nav-link:focus,
.ov2026-menu .active .nav-link,
.ov2026-menu .nav-link.active {
	background: #eef8f0 !important;
	border-color: rgba(47, 143, 92, .16) !important;
	color: #1f6f49 !important;
	transform: translateY(-1px);
	box-shadow: 0 8px 18px rgba(47, 143, 92, .07) !important;
}

.ov2026-menu .nav-link:hover .ov2026-menu__icon,
.ov2026-menu .nav-link:focus .ov2026-menu__icon {
	opacity: 1;
	transform: scale(1.06);
}

/* ===== ACTIONS ===== */

.ov2026-actions {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-left: 10px;
}

.ov2026-company,
.ov2026-add {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 42px;
	padding: 10px 14px !important;
	border-radius: 14px;
	font-size: .86rem;
	font-weight: 900;
	line-height: 1;
	white-space: nowrap;
	text-decoration: none !important;
	transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.ov2026-company {
	background: #ffffff;
	border: 1px solid #dfe9df;
	color: #1f6f49 !important;
	box-shadow: 0 6px 16px rgba(17, 32, 27, .045);
}

.ov2026-company:hover,
.ov2026-company:focus {
	background: #eef8f0;
	border-color: rgba(47, 143, 92, .18);
	color: #1f6f49 !important;
	transform: translateY(-1px);
	box-shadow: 0 10px 22px rgba(47, 143, 92, .08);
}

.ov2026-add {
	background: #fff1f1;
	border: 1px solid rgba(201, 77, 77, .18);
	color: #a83737 !important;
	box-shadow: 0 8px 18px rgba(201, 77, 77, .06);
}

.ov2026-add:hover,
.ov2026-add:focus {
	background: #fee7e7;
	border-color: rgba(201, 77, 77, .26);
	color: #8f2f2f !important;
	transform: translateY(-1px);
	box-shadow: 0 12px 24px rgba(201, 77, 77, .10);
}

/* ===== BURGER ===== */

.ov2026-toggler {
	width: 46px;
	height: 46px;
	padding: 0 !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 15px;
	border: 1px solid #dfe9df !important;
	background: #ffffff !important;
	color: #17201b !important;
	box-shadow: 0 6px 16px rgba(17, 32, 27, .045);
}

.ov2026-toggler .iconify {
	font-size: 24px;
}

/* ===== DESKTOP COMPACT ===== */

@media (max-width: 1360px) {
	.ov2026-header__inner {
		gap: 18px;
	}

	.ov2026-brand {
		min-width: 238px;
		gap: 10px;
	}

	.ov2026-brand__mark {
		width: 50px;
		height: 50px;
		min-width: 50px;
		border-radius: 17px;
	}

	.ov2026-brand__svg {
		width: 35px;
		height: 35px;
	}

	.ov2026-brand__name {
		font-size: 1.76rem;
	}

	.ov2026-brand__sub {
		font-size: .54rem;
		letter-spacing: .1em;
	}

	.ov2026-menu {
		gap: 4px;
	}

	.ov2026-menu .nav-link {
		padding-left: 10px !important;
		padding-right: 10px !important;
		font-size: .84rem;
	}

	.ov2026-actions {
		gap: 6px;
		margin-left: 6px;
	}

	.ov2026-company,
	.ov2026-add {
		padding-left: 11px !important;
		padding-right: 11px !important;
		font-size: .8rem;
	}
}

/* ===== TABLET / MOBILE ===== */

@media (max-width: 991.98px) {
	.ov2026-header {
		padding: 10px 0 !important;
	}

	.ov2026-header__inner {
		min-height: 58px;
		flex-wrap: wrap;
		gap: 12px;
	}

	.ov2026-brand {
		min-width: 0;
	}

	.ov2026-brand__mark {
		width: 46px;
		height: 46px;
		min-width: 46px;
		border-radius: 16px;
	}

	.ov2026-brand__svg {
		width: 32px;
		height: 32px;
	}

	.ov2026-brand__name {
		font-size: 1.5rem;
	}

	.ov2026-brand__domain {
		top: -1px;
		padding: 4px 7px;
		font-size: .64rem;
	}

	.ov2026-brand__sub {
		font-size: .5rem;
		letter-spacing: .08em;
	}

	.ov2026-collapse {
		flex-basis: 100%;
		width: 100%;
		padding-top: 12px;
	}

	.ov2026-menu {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
		width: 100%;
		margin-bottom: 10px !important;
	}

	.ov2026-menu .nav-link {
		width: 100%;
		justify-content: flex-start;
		min-height: 44px;
		padding: 12px 13px !important;
		background: #ffffff !important;
		border-color: #dfe9df !important;
	}

	.ov2026-actions {
		width: 100%;
		margin-left: 0;
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 8px;
	}

	.ov2026-company,
	.ov2026-add {
		width: 100%;
		min-height: 46px;
	}
}

@media (max-width: 575.98px) {
	.ov2026-brand__sub {
		display: none;
	}

	.ov2026-brand__name {
		font-size: 1.34rem;
	}

	.ov2026-brand__domain {
		font-size: .6rem;
	}

	.ov2026-menu {
		grid-template-columns: 1fr;
	}

	.ov2026-actions {
		grid-template-columns: 1fr;
	}
}
/* =========================================================
   OTZYVITO HEADER — NO OVERLAP FIX
   Фикс заездов меню, кнопок и логотипа.
   Вставить САМЫМ ПОСЛЕДНИМ в custom.css
   ========================================================= */

.ov2026-header,
.ov2026-header * {
	box-sizing: border-box;
}

.ov2026-header__inner {
	width: 100%;
	min-width: 0;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 18px !important;
}

.ov2026-brand {
	flex: 0 0 auto !important;
	min-width: 230px !important;
	max-width: 250px !important;
}

.ov2026-collapse {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 12px !important;
}

.ov2026-menu {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	max-width: 100% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 4px !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
}

.ov2026-menu .nav-item {
	flex: 0 0 auto !important;
	margin: 0 !important;
}

.ov2026-menu .nav-link {
	min-height: 42px !important;
	padding: 10px 10px !important;
	gap: 6px !important;
	font-size: 0.84rem !important;
	white-space: nowrap !important;
}

.ov2026-menu__icon {
	flex: 0 0 auto !important;
	font-size: 17px !important;
}

.ov2026-actions {
	flex: 0 0 auto !important;
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 8px !important;
	margin-left: 8px !important;
	min-width: 0 !important;
}

.ov2026-company,
.ov2026-add {
	flex: 0 0 auto !important;
	min-height: 42px !important;
	padding: 10px 12px !important;
	font-size: 0.82rem !important;
	white-space: nowrap !important;
}

/* чуть уменьшаем лого, чтобы оно не съедало строку */
.ov2026-brand__mark {
	width: 50px !important;
	height: 50px !important;
	min-width: 50px !important;
}

.ov2026-brand__svg {
	width: 35px !important;
	height: 35px !important;
}

.ov2026-brand__name {
	font-size: 1.72rem !important;
}

.ov2026-brand__sub {
	font-size: 0.54rem !important;
	letter-spacing: 0.095em !important;
}

/* ноутбуки / узкие десктопы */
@media (max-width: 1450px) {
	.ov2026-header__inner {
		gap: 14px !important;
	}

	.ov2026-brand {
		min-width: 218px !important;
		max-width: 225px !important;
		gap: 9px !important;
	}

	.ov2026-brand__mark {
		width: 46px !important;
		height: 46px !important;
		min-width: 46px !important;
		border-radius: 15px !important;
	}

	.ov2026-brand__svg {
		width: 32px !important;
		height: 32px !important;
	}

	.ov2026-brand__name {
		font-size: 1.55rem !important;
	}

	.ov2026-brand__domain {
		padding: 4px 7px !important;
		font-size: 0.64rem !important;
	}

	.ov2026-brand__sub {
		font-size: 0.5rem !important;
		letter-spacing: 0.075em !important;
	}

	.ov2026-menu .nav-link {
		padding-left: 8px !important;
		padding-right: 8px !important;
		font-size: 0.8rem !important;
		gap: 5px !important;
	}

	.ov2026-menu__icon {
		font-size: 16px !important;
	}

	.ov2026-company,
	.ov2026-add {
		padding-left: 10px !important;
		padding-right: 10px !important;
		font-size: 0.78rem !important;
	}
}

/* если экран ещё уже — убираем подпись под лого */
@media (max-width: 1320px) {
	.ov2026-brand {
		min-width: 185px !important;
		max-width: 190px !important;
	}

	.ov2026-brand__sub {
		display: none !important;
	}

	.ov2026-menu .nav-link {
		font-size: 0.78rem !important;
		padding-left: 7px !important;
		padding-right: 7px !important;
	}

	.ov2026-company,
	.ov2026-add {
		min-height: 40px !important;
		padding-left: 9px !important;
		padding-right: 9px !important;
		font-size: 0.76rem !important;
	}
}

/* на совсем тесных десктопах: компаниям оставляем, но компактно */
@media (max-width: 1220px) and (min-width: 992px) {
	.ov2026-company span:last-child {
		display: none !important;
	}

	.ov2026-company {
		width: 42px !important;
		min-width: 42px !important;
		max-width: 42px !important;
		padding: 0 !important;
	}

	.ov2026-company .iconify {
		font-size: 18px !important;
		margin: 0 !important;
	}

	.ov2026-add {
		font-size: 0.74rem !important;
		padding-left: 10px !important;
		padding-right: 10px !important;
	}

	.ov2026-menu .nav-link {
		font-size: 0.76rem !important;
		padding-left: 6px !important;
		padding-right: 6px !important;
	}
}

/* мобильная версия — как была, но без заездов */
@media (max-width: 991.98px) {
	.ov2026-header__inner {
		flex-wrap: wrap !important;
		gap: 12px !important;
	}

	.ov2026-brand {
		min-width: 0 !important;
		max-width: none !important;
	}

	.ov2026-collapse {
		flex: 0 0 100% !important;
		width: 100% !important;
		display: block !important;
		padding-top: 12px !important;
	}

	.ov2026-menu {
		width: 100% !important;
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 8px !important;
		margin-bottom: 10px !important;
	}

	.ov2026-menu .nav-item {
		width: 100% !important;
	}

	.ov2026-menu .nav-link {
		width: 100% !important;
		justify-content: flex-start !important;
		min-height: 44px !important;
		padding: 12px 13px !important;
		font-size: 0.88rem !important;
		background: #ffffff !important;
		border-color: #dfe9df !important;
	}

	.ov2026-actions {
		width: 100% !important;
		display: grid !important;
		grid-template-columns: 1fr 1fr !important;
		gap: 8px !important;
		margin-left: 0 !important;
	}

	.ov2026-company,
	.ov2026-add {
		width: 100% !important;
		min-height: 46px !important;
		justify-content: center !important;
		font-size: 0.84rem !important;
	}
}

@media (max-width: 575.98px) {
	.ov2026-menu {
		grid-template-columns: 1fr !important;
	}

	.ov2026-actions {
		grid-template-columns: 1fr !important;
	}

	.ov2026-brand__name {
		font-size: 1.32rem !important;
	}
}
/* =========================================================
   OTZYVITO — AI CASE CARD
   Вставить в самый конец custom.css
   Оформляет блок <div class="ai-case-card">...</div>
   ========================================================= */

.ai-article .ai-case-card,
.tv-fs-pro-text .ai-case-card,
.tv-fs-text .ai-case-card {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 18px 0 22px;
    padding: 18px;
    border-radius: 22px;
    background:
        radial-gradient(circle at 0% 0%, rgba(47, 143, 92, 0.10), transparent 32%),
        radial-gradient(circle at 100% 0%, rgba(201, 77, 77, 0.08), transparent 34%),
        linear-gradient(180deg, #ffffff 0%, #f8fbf8 100%);
    border: 1px solid #dbe7dc;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
    overflow: hidden;
    clear: both;
}

.ai-article .ai-case-card::before,
.tv-fs-pro-text .ai-case-card::before,
.tv-fs-text .ai-case-card::before {
    content: "Карточка кейса";
    grid-column: 1 / -1;
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 32px;
    margin: 0 0 4px;
    padding: 7px 12px;
    border-radius: 999px;
    background: #ecfdf3;
    border: 1px solid rgba(47, 143, 92, 0.16);
    color: #1f6f49;
    font-size: 0.76rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.ai-article .ai-case-card::after,
.tv-fs-pro-text .ai-case-card::after,
.tv-fs-text .ai-case-card::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    border-radius: 999px;
    background: linear-gradient(180deg, #2f8f5c 0%, #c94d4d 100%);
}

.ai-article .ai-case-card > div,
.tv-fs-pro-text .ai-case-card > div,
.tv-fs-text .ai-case-card > div {
    position: relative;
    min-width: 0;
    padding: 12px 14px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(17, 24, 39, 0.055);
    color: #263328;
    font-size: 0.95rem;
    line-height: 1.55;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.035);
}

.ai-article .ai-case-card > div strong,
.tv-fs-pro-text .ai-case-card > div strong,
.tv-fs-text .ai-case-card > div strong {
    display: block;
    margin-bottom: 4px;
    color: #17201b;
    font-size: 0.78rem;
    line-height: 1.2;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.ai-article .ai-case-card > div:nth-child(2),
.tv-fs-pro-text .ai-case-card > div:nth-child(2),
.tv-fs-text .ai-case-card > div:nth-child(2),
.ai-article .ai-case-card > div:nth-child(5),
.tv-fs-pro-text .ai-case-card > div:nth-child(5),
.tv-fs-text .ai-case-card > div:nth-child(5) {
    background: rgba(236, 253, 243, 0.78);
    border-color: rgba(47, 143, 92, 0.12);
}

.ai-article .ai-case-card > div:nth-child(6),
.tv-fs-pro-text .ai-case-card > div:nth-child(6),
.tv-fs-text .ai-case-card > div:nth-child(6),
.ai-article .ai-case-card > div:nth-child(7),
.tv-fs-pro-text .ai-case-card > div:nth-child(7),
.tv-fs-text .ai-case-card > div:nth-child(7) {
    background: rgba(255, 241, 241, 0.72);
    border-color: rgba(201, 77, 77, 0.12);
}

@media (max-width: 767.98px) {
    .ai-article .ai-case-card,
    .tv-fs-pro-text .ai-case-card,
    .tv-fs-text .ai-case-card {
        grid-template-columns: 1fr;
        gap: 8px;
        margin: 15px 0 18px;
        padding: 14px;
        border-radius: 18px;
    }

    .ai-article .ai-case-card > div,
    .tv-fs-pro-text .ai-case-card > div,
    .tv-fs-text .ai-case-card > div {
        padding: 10px 12px;
        border-radius: 14px;
        font-size: 0.9rem;
        line-height: 1.5;
    }

    .ai-article .ai-case-card::before,
    .tv-fs-pro-text .ai-case-card::before,
    .tv-fs-text .ai-case-card::before {
        min-height: 30px;
        padding: 6px 10px;
        font-size: 0.7rem;
    }
}
/* =========================================================
   OTZYVITO FINAL FULLSTORY / CASE / RELATED / COMMENTS
   Вставить в самый конец custom.css
   ========================================================= */

.otv-fullstory {
  overflow: hidden !important;
}

.otv-fullstory-body {
  position: relative;
}

.otv-fullstory-header {
  margin-bottom: 24px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--ov-line-2);
}

.otv-fullstory-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 34px;
  margin-bottom: 13px;
  padding: 8px 13px;
  border-radius: 999px;
  background: var(--ov-green-soft);
  border: 1px solid rgba(63,159,105,.16);
  color: var(--ov-green-deep);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.otv-fullstory-kicker-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--ov-red);
  box-shadow: 0 0 0 5px rgba(213,92,92,.10);
}

.otv-fullstory-title {
  max-width: 1060px;
  margin-bottom: 16px !important;
}

.otv-fullstory-meta {
  gap: 9px;
}

.otv-fullstory-meta .fs-meta-item,
.otv-fullstory-rating .rate_like,
.otv-fullstory-rating .rate_like-dislike,
.otv-fullstory-rating .rate_stars {
  min-height: 34px;
  padding: 7px 11px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--ov-line);
  color: var(--ov-muted) !important;
  font-size: .82rem;
  font-weight: 760;
  box-shadow: var(--ov-shadow-xs);
}

.otv-fullstory-category {
  background: var(--ov-green-soft) !important;
  border-color: rgba(63,159,105,.15) !important;
  color: var(--ov-green-deep) !important;
  font-weight: 900 !important;
}

/* hero */

.otv-fullstory-hero {
  display: grid !important;
  grid-template-columns: 430px minmax(0, 1fr) !important;
  gap: 20px !important;
  align-items: stretch !important;
  margin-bottom: 28px !important;
}

.otv-fullstory-poster {
  height: auto !important;
  min-height: 318px !important;
  max-height: 430px;
  border-radius: 24px !important;
  background: #e9f2ea !important;
  border: 1px solid var(--ov-line) !important;
  box-shadow: var(--ov-shadow-sm) !important;
}

.otv-fullstory-poster-image,
.otv-fullstory-poster img {
  width: 100% !important;
  height: 100% !important;
  min-height: 318px !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 0 !important;
}

.otv-fullstory-brief {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.otv-note-mount,
.otv-case-card-mount {
  width: 100%;
}

/* note = коротко по кейсу */

.otv-note-mount .ai-note {
  position: relative;
  width: 100%;
  margin: 0 !important;
  padding: 18px 18px 16px;
  border-radius: 24px;
  background:
    radial-gradient(circle at top right, rgba(63,159,105,.10), transparent 34%),
    linear-gradient(180deg, #fff 0%, var(--ov-surface-2) 100%);
  border: 1px solid var(--ov-line);
  box-shadow: var(--ov-shadow-sm);
  overflow: hidden;
}

.otv-note-mount .ai-note::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: linear-gradient(180deg, var(--ov-green) 0%, var(--ov-green-pale) 100%);
}

.otv-note-mount .ai-note-title {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  margin: 0 0 12px;
  padding: 6px 11px;
  border-radius: 999px;
  background: var(--ov-green-soft);
  border: 1px solid rgba(63,159,105,.14);
  color: var(--ov-green-deep);
  font-size: .75rem;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.otv-note-mount .ai-note-body {
  position: relative;
  color: var(--ov-text-2);
  font-size: .97rem;
  line-height: 1.74;
  max-height: 132px;
  overflow: hidden;
  transition: max-height var(--ov-ease);
}

.otv-note-mount .ai-note:not(.is-open) .ai-note-body::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 62px;
  background: linear-gradient(180deg, rgba(255,255,255,0), var(--ov-surface-2) 92%);
  pointer-events: none;
}

.otv-note-mount .ai-note.is-open .ai-note-body {
  max-height: 460px;
  overflow-y: auto;
  padding-right: 6px;
}

.otv-note-mount .ai-note-toggle {
  margin-top: 14px;
  padding-top: 13px;
  border-top: 1px solid var(--ov-line-2);
}

.otv-note-mount .ai-note-toggle-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 9px 15px;
  border-radius: 14px;
  border: 1px solid rgba(63,159,105,.16);
  background: #fff;
  color: var(--ov-green-deep);
  font-size: .88rem;
  font-weight: 900;
  cursor: pointer;
  box-shadow: var(--ov-shadow-xs);
}

/* case card */

.otv-case-card-mount .ai-case-card,
.otv-fullstory-text > .ai-case-card {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 18px 18px 16px;
  border-radius: 24px;
  background:
    radial-gradient(circle at top right, rgba(213,92,92,.095), transparent 36%),
    linear-gradient(180deg, #fff 0%, #fffafa 100%);
  border: 1px solid var(--ov-red-line);
  box-shadow: var(--ov-shadow-sm);
  overflow: hidden;
}

.otv-case-card-mount .ai-case-card::before,
.otv-fullstory-text > .ai-case-card::before {
  content: "Карточка кейса";
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  margin-bottom: 12px;
  padding: 6px 11px;
  border-radius: 999px;
  background: var(--ov-red-soft);
  border: 1px solid rgba(213,92,92,.18);
  color: var(--ov-red-dark);
  font-size: .75rem;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.otv-case-card-mount .ai-case-card::after,
.otv-fullstory-text > .ai-case-card::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: linear-gradient(180deg, var(--ov-red) 0%, var(--ov-green) 100%);
}

.otv-case-card-mount .ai-case-card div,
.otv-fullstory-text > .ai-case-card div {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 136px minmax(0, 1fr);
  gap: 12px;
  padding: 10px 0;
  border-top: 1px solid rgba(213,92,92,.13);
  color: var(--ov-text-2);
  font-size: .93rem;
  line-height: 1.48;
}

.otv-case-card-mount .ai-case-card div:first-of-type,
.otv-fullstory-text > .ai-case-card div:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.otv-case-card-mount .ai-case-card div:last-child,
.otv-fullstory-text > .ai-case-card div:last-child {
  padding-bottom: 0;
}

.otv-case-card-mount .ai-case-card strong,
.otv-fullstory-text > .ai-case-card strong {
  color: var(--ov-text);
  font-weight: 900;
}

.otv-fullstory-text > .ai-case-card {
  margin: 1.2rem 0 1.35rem;
  clear: both;
}

/* article content */

.otv-fullstory-text {
  font-size: 1.04rem;
  line-height: 1.84;
}

.otv-fullstory-text > .ai-article > *:first-child {
  margin-top: 0 !important;
}

.otv-fullstory-text .ai-toc {
  margin-top: 0 !important;
}

.otv-fullstory-text .ai-summary {
  margin-top: 1.6rem;
}

/* related */

.otv-related-section {
  position: relative;
  margin-bottom: 24px;
  padding: 22px;
  border-radius: 28px;
  background: linear-gradient(180deg, #fff 0%, var(--ov-surface-2) 100%);
  border: 1px solid var(--ov-line);
  box-shadow: var(--ov-shadow-sm);
  overflow: hidden;
}

.otv-related-section::before {
  content: "";
  position: absolute;
  left: 22px;
  right: 22px;
  top: 0;
  height: 4px;
  border-radius: 0 0 999px 999px;
  background: linear-gradient(90deg, var(--ov-green) 0%, #b9dfc0 54%, var(--ov-red) 100%);
}

.otv-related-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 17px;
  padding-bottom: 15px;
  border-bottom: 1px solid var(--ov-line-2);
}

.otv-related-kicker {
  display: inline-flex;
  min-height: 30px;
  margin-bottom: 7px;
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--ov-green-soft);
  border: 1px solid rgba(63,159,105,.14);
  color: var(--ov-green-deep);
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.otv-related-title {
  margin: 0;
  color: var(--ov-text);
  font-size: 1.35rem;
  font-weight: 900;
  line-height: 1.16;
}

.otv-related-all {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 8px 13px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid var(--ov-line);
  color: var(--ov-muted) !important;
  font-size: .84rem;
  font-weight: 850;
  box-shadow: var(--ov-shadow-xs);
  white-space: nowrap;
}

.otv-related-all:hover {
  color: var(--ov-green-deep) !important;
  background: var(--ov-green-soft);
}

.otv-related-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.otv-related-grid > * {
  min-width: 0;
}

.otv-related-grid .tv-top-news-item,
.otv-related-grid .shortstory,
.otv-related-grid article,
.otv-related-grid > div {
  margin-bottom: 0 !important;
}

/* comments */

.otv-comments-card {
  position: relative;
  border-radius: 28px !important;
  overflow: hidden;
}

.otv-comments-card::before {
  content: "";
  position: absolute;
  left: 22px;
  right: 22px;
  top: 0;
  height: 4px;
  border-radius: 0 0 999px 999px;
  background: linear-gradient(90deg, var(--ov-green) 0%, #b9dfc0 54%, var(--ov-red) 100%);
}

.otv-comments-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
  padding-bottom: 15px;
  border-bottom: 1px solid var(--ov-line-2);
}

.otv-comments-kicker {
  display: inline-flex;
  min-height: 30px;
  margin-bottom: 7px;
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--ov-red-soft);
  border: 1px solid rgba(213,92,92,.16);
  color: var(--ov-red-dark);
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.otv-comments-title {
  margin: 0;
  color: var(--ov-text);
  font-size: 1.35rem;
  font-weight: 900;
  line-height: 1.16;
}

.otv-comments-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 38px;
  padding: 0 12px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--ov-line);
  color: var(--ov-green-deep);
  font-weight: 900;
  box-shadow: var(--ov-shadow-xs);
}

.otv-comments-empty {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 15px;
  border-radius: 18px;
  background: var(--ov-green-soft-2);
  border: 1px solid var(--ov-line);
  color: var(--ov-muted);
}

.otv-comments-empty i {
  width: 40px;
  height: 40px;
  min-width: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: #fff;
  color: var(--ov-green-deep);
  border: 1px solid var(--ov-line);
}

.otv-comments-empty strong {
  display: block;
  color: var(--ov-text);
  font-weight: 900;
  margin-bottom: 2px;
}

.otv-comments-empty span {
  color: var(--ov-muted);
  font-size: .92rem;
}

/* DLE comments form cleanup */

.otv-addcomments {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--ov-line-2);
}

.otv-addcomments .form-control,
.otv-addcomments input[type="text"],
.otv-addcomments textarea,
.otv-addcomments select {
  border-radius: 16px !important;
}

.otv-addcomments textarea {
  min-height: 150px;
}

.otv-addcomments .btn,
.otv-addcomments button,
.otv-addcomments input[type="submit"] {
  min-height: 44px;
  padding-left: 18px;
  padding-right: 18px;
}

/* Existing db-comment polish */

.otv-comments-card .db-comment {
  margin-bottom: 16px;
  border-radius: 22px;
  border-color: var(--ov-line) !important;
  background: linear-gradient(180deg, #fff 0%, var(--ov-surface-2) 100%);
  box-shadow: var(--ov-shadow-xs);
}

.otv-comments-card .db-comment-author {
  color: var(--ov-green-deep) !important;
  background: var(--ov-green-soft);
  border-color: rgba(63,159,105,.14);
}

.otv-comments-card .db-comment-date,
.otv-comments-card .db-comment-parent {
  color: var(--ov-muted);
  background: #fff;
  border-color: var(--ov-line);
}

/* mobile */

@media (max-width: 1199.98px) {
  .otv-fullstory-hero {
    grid-template-columns: 380px minmax(0, 1fr) !important;
  }

  .otv-related-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .otv-case-card-mount .ai-case-card div,
  .otv-fullstory-text > .ai-case-card div {
    grid-template-columns: 124px minmax(0, 1fr);
  }
}

@media (max-width: 991.98px) {
  .otv-fullstory-hero {
    grid-template-columns: 1fr !important;
  }

  .otv-fullstory-poster,
  .otv-fullstory-poster-image,
  .otv-fullstory-poster img {
    min-height: 260px !important;
  }

  .otv-fullstory-brief {
    gap: 12px;
  }
}

@media (max-width: 767.98px) {
  .otv-fullstory-body {
    padding: 18px !important;
  }

  .otv-fullstory-header {
    margin-bottom: 18px;
    padding-bottom: 15px;
  }

  .otv-fullstory-title {
    font-size: 1.66rem !important;
    line-height: 1.12 !important;
  }

  .otv-fullstory-kicker,
  .otv-related-kicker,
  .otv-comments-kicker {
    min-height: 28px;
    padding: 5px 9px;
    font-size: .66rem;
  }

  .otv-fullstory-poster,
  .otv-fullstory-poster-image,
  .otv-fullstory-poster img {
    min-height: 210px !important;
    border-radius: 20px !important;
  }

  .otv-note-mount .ai-note,
  .otv-case-card-mount .ai-case-card,
  .otv-fullstory-text > .ai-case-card {
    padding: 15px;
    border-radius: 20px;
  }

  .otv-case-card-mount .ai-case-card div,
  .otv-fullstory-text > .ai-case-card div {
    display: block;
    padding: 9px 0;
    font-size: .9rem;
  }

  .otv-case-card-mount .ai-case-card strong,
  .otv-fullstory-text > .ai-case-card strong {
    display: block;
    margin-bottom: 3px;
  }

  .otv-note-mount .ai-note-body {
    max-height: 154px;
    font-size: .94rem;
    line-height: 1.68;
  }

  .otv-note-mount .ai-note-toggle-btn {
    width: 100%;
  }

  .otv-related-section,
  .otv-comments-card .card-body {
    padding: 18px !important;
  }

  .otv-related-head,
  .otv-comments-head {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  .otv-related-all {
    width: 100%;
  }

  .otv-related-grid {
    grid-template-columns: 1fr;
  }
}
/* =========================================================
   OTZYVITO FINAL FULLSTORY / CASE / FAQ / RELATED / COMMENTS
   Вставить в самый конец custom.css
   ========================================================= */

.otv-fullstory {
  overflow: hidden !important;
}

.otv-fullstory-body {
  position: relative;
}

.otv-fullstory-header {
  margin-bottom: 24px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--ov-line-2);
}

.otv-fullstory-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 34px;
  margin-bottom: 13px;
  padding: 8px 13px;
  border-radius: 999px;
  background: var(--ov-green-soft);
  border: 1px solid rgba(63,159,105,.16);
  color: var(--ov-green-deep);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.otv-fullstory-kicker-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--ov-red);
  box-shadow: 0 0 0 5px rgba(213,92,92,.10);
}

.otv-fullstory-title {
  max-width: 1060px;
  margin-bottom: 16px !important;
}

.otv-fullstory-meta {
  gap: 9px;
}

.otv-fullstory-meta .fs-meta-item,
.otv-fullstory-rating .rate_like,
.otv-fullstory-rating .rate_like-dislike,
.otv-fullstory-rating .rate_stars {
  min-height: 34px;
  padding: 7px 11px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--ov-line);
  color: var(--ov-muted) !important;
  font-size: .82rem;
  font-weight: 760;
  box-shadow: var(--ov-shadow-xs);
}

.otv-fullstory-category {
  background: var(--ov-green-soft) !important;
  border-color: rgba(63,159,105,.15) !important;
  color: var(--ov-green-deep) !important;
  font-weight: 900 !important;
}

/* hero */

.otv-fullstory-hero {
  display: grid !important;
  grid-template-columns: 430px minmax(0, 1fr) !important;
  gap: 20px !important;
  align-items: stretch !important;
  margin-bottom: 28px !important;
}

.otv-fullstory-poster {
  height: auto !important;
  min-height: 318px !important;
  max-height: 430px;
  border-radius: 24px !important;
  background: #e9f2ea !important;
  border: 1px solid var(--ov-line) !important;
  box-shadow: var(--ov-shadow-sm) !important;
}

.otv-fullstory-poster-image,
.otv-fullstory-poster img {
  width: 100% !important;
  height: 100% !important;
  min-height: 318px !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 0 !important;
}

.otv-fullstory-brief {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.otv-note-mount,
.otv-case-card-mount {
  width: 100%;
}

/* note */

.otv-note-mount .ai-note {
  position: relative;
  width: 100%;
  margin: 0 !important;
  padding: 18px 18px 16px;
  border-radius: 24px;
  background:
    radial-gradient(circle at top right, rgba(63,159,105,.10), transparent 34%),
    linear-gradient(180deg, #fff 0%, var(--ov-surface-2) 100%);
  border: 1px solid var(--ov-line);
  box-shadow: var(--ov-shadow-sm);
  overflow: hidden;
}

.otv-note-mount .ai-note::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: linear-gradient(180deg, var(--ov-green) 0%, var(--ov-green-pale) 100%);
}

.otv-note-mount .ai-note-title {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  margin: 0 0 12px;
  padding: 6px 11px;
  border-radius: 999px;
  background: var(--ov-green-soft);
  border: 1px solid rgba(63,159,105,.14);
  color: var(--ov-green-deep);
  font-size: .75rem;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.otv-note-mount .ai-note-body {
  position: relative;
  color: var(--ov-text-2);
  font-size: .97rem;
  line-height: 1.74;
  max-height: 132px;
  overflow: hidden;
  transition: max-height var(--ov-ease);
}

.otv-note-mount .ai-note:not(.is-open) .ai-note-body::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 62px;
  background: linear-gradient(180deg, rgba(255,255,255,0), var(--ov-surface-2) 92%);
  pointer-events: none;
}

.otv-note-mount .ai-note.is-open .ai-note-body {
  max-height: 460px;
  overflow-y: auto;
  padding-right: 6px;
}

.otv-note-mount .ai-note-toggle {
  margin-top: 14px;
  padding-top: 13px;
  border-top: 1px solid var(--ov-line-2);
}

.otv-note-mount .ai-note-toggle-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 9px 15px;
  border-radius: 14px;
  border: 1px solid rgba(63,159,105,.16);
  background: #fff;
  color: var(--ov-green-deep);
  font-size: .88rem;
  font-weight: 900;
  cursor: pointer;
  box-shadow: var(--ov-shadow-xs);
}

/* case card */

.otv-case-card-mount .ai-case-card,
.otv-fullstory-text > .ai-case-card {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 18px 18px 16px;
  border-radius: 24px;
  background:
    radial-gradient(circle at top right, rgba(213,92,92,.095), transparent 36%),
    linear-gradient(180deg, #fff 0%, #fffafa 100%);
  border: 1px solid var(--ov-red-line);
  box-shadow: var(--ov-shadow-sm);
  overflow: hidden;
}

.otv-case-card-mount .ai-case-card::before,
.otv-fullstory-text > .ai-case-card::before {
  content: "Карточка кейса";
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  margin-bottom: 12px;
  padding: 6px 11px;
  border-radius: 999px;
  background: var(--ov-red-soft);
  border: 1px solid rgba(213,92,92,.18);
  color: var(--ov-red-dark);
  font-size: .75rem;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.otv-case-card-mount .ai-case-card::after,
.otv-fullstory-text > .ai-case-card::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: linear-gradient(180deg, var(--ov-red) 0%, var(--ov-green) 100%);
}

.otv-case-card-mount .ai-case-card div,
.otv-fullstory-text > .ai-case-card div {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 136px minmax(0, 1fr);
  gap: 12px;
  padding: 10px 0;
  border-top: 1px solid rgba(213,92,92,.13);
  color: var(--ov-text-2);
  font-size: .93rem;
  line-height: 1.48;
}

.otv-case-card-mount .ai-case-card div:first-of-type,
.otv-fullstory-text > .ai-case-card div:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.otv-case-card-mount .ai-case-card div:last-child,
.otv-fullstory-text > .ai-case-card div:last-child {
  padding-bottom: 0;
}

.otv-case-card-mount .ai-case-card strong,
.otv-fullstory-text > .ai-case-card strong {
  color: var(--ov-text);
  font-weight: 900;
}

.otv-fullstory-text > .ai-case-card {
  margin: 1.2rem 0 1.35rem;
  clear: both;
}

/* article content */

.otv-fullstory-text {
  font-size: 1.04rem;
  line-height: 1.84;
}

.otv-fullstory-text > .ai-article > *:first-child {
  margin-top: 0 !important;
}

.otv-fullstory-text .ai-toc {
  margin-top: 0 !important;
}

/* FAQ accordion */

.otv-fullstory-text .ai-faq {
  margin: 1.2rem 0 0;
}

.otv-fullstory-text .ai-faq-item {
  position: relative;
  margin-bottom: 12px;
  border-radius: 20px;
  border: 1px solid var(--ov-line);
  background: linear-gradient(180deg, #fff 0%, var(--ov-surface-2) 100%);
  box-shadow: var(--ov-shadow-xs);
  overflow: hidden;
}

.otv-fullstory-text .ai-faq-question {
  position: relative;
  margin: 0 !important;
  padding: 16px 54px 16px 17px !important;
  color: var(--ov-text);
  font-size: 1rem !important;
  line-height: 1.38 !important;
  font-weight: 900 !important;
  cursor: pointer;
}

.otv-fullstory-text .ai-faq-question::before {
  display: none !important;
}

.otv-fullstory-text .ai-faq-question::after {
  content: "+";
  position: absolute;
  right: 16px;
  top: 50%;
  width: 30px;
  height: 30px;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: var(--ov-green-soft);
  border: 1px solid rgba(63,159,105,.14);
  color: var(--ov-green-deep);
  font-size: 1.2rem;
  font-weight: 900;
}

.otv-fullstory-text .ai-faq-item.faq-open .ai-faq-question::after {
  content: "−";
  background: var(--ov-red-soft);
  border-color: rgba(213,92,92,.16);
  color: var(--ov-red-dark);
}

.otv-fullstory-text .ai-faq-answer {
  padding: 0 17px 16px;
  color: var(--ov-text-2);
  font-size: .98rem;
  line-height: 1.72;
}

.otv-fullstory-text .ai-faq-answer p:last-child {
  margin-bottom: 0;
}

.otv-fullstory-text .ai-faq-item.faq-collapsed .ai-faq-answer {
  display: none !important;
}

/* related */

.otv-related-section {
  position: relative;
  margin-bottom: 24px;
  padding: 22px;
  border-radius: 28px;
  background: linear-gradient(180deg, #fff 0%, var(--ov-surface-2) 100%);
  border: 1px solid var(--ov-line);
  box-shadow: var(--ov-shadow-sm);
  overflow: hidden;
}

.otv-related-section::before {
  content: "";
  position: absolute;
  left: 22px;
  right: 22px;
  top: 0;
  height: 4px;
  border-radius: 0 0 999px 999px;
  background: linear-gradient(90deg, var(--ov-green) 0%, #b9dfc0 54%, var(--ov-red) 100%);
}

.otv-related-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 17px;
  padding-bottom: 15px;
  border-bottom: 1px solid var(--ov-line-2);
}

.otv-related-kicker {
  display: inline-flex;
  min-height: 30px;
  margin-bottom: 7px;
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--ov-green-soft);
  border: 1px solid rgba(63,159,105,.14);
  color: var(--ov-green-deep);
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.otv-related-title {
  margin: 0;
  color: var(--ov-text);
  font-size: 1.35rem;
  font-weight: 900;
  line-height: 1.16;
}

.otv-related-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.otv-related-grid > * {
  min-width: 0;
}

.otv-related-grid .tv-top-news-item,
.otv-related-grid .shortstory,
.otv-related-grid article,
.otv-related-grid > div {
  margin-bottom: 0 !important;
}

/* comments */

.otv-comments-card {
  position: relative;
  border-radius: 28px !important;
  overflow: hidden;
}

.otv-comments-card::before {
  content: "";
  position: absolute;
  left: 22px;
  right: 22px;
  top: 0;
  height: 4px;
  border-radius: 0 0 999px 999px;
  background: linear-gradient(90deg, var(--ov-green) 0%, #b9dfc0 54%, var(--ov-red) 100%);
}

.otv-comments-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
  padding-bottom: 15px;
  border-bottom: 1px solid var(--ov-line-2);
}

.otv-comments-kicker {
  display: inline-flex;
  min-height: 30px;
  margin-bottom: 7px;
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--ov-red-soft);
  border: 1px solid rgba(213,92,92,.16);
  color: var(--ov-red-dark);
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.otv-comments-title {
  margin: 0;
  color: var(--ov-text);
  font-size: 1.35rem;
  font-weight: 900;
  line-height: 1.16;
}

.otv-comments-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 38px;
  padding: 0 12px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--ov-line);
  color: var(--ov-green-deep);
  font-weight: 900;
  box-shadow: var(--ov-shadow-xs);
}

.otv-comments-empty {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 15px;
  border-radius: 18px;
  background: var(--ov-green-soft-2);
  border: 1px solid var(--ov-line);
  color: var(--ov-muted);
}

.otv-comments-empty i {
  width: 40px;
  height: 40px;
  min-width: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: #fff;
  color: var(--ov-green-deep);
  border: 1px solid var(--ov-line);
}

.otv-comments-empty strong {
  display: block;
  color: var(--ov-text);
  font-weight: 900;
  margin-bottom: 2px;
}

.otv-comments-empty span {
  color: var(--ov-muted);
  font-size: .92rem;
}

.otv-addcomments {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--ov-line-2);
}

.otv-addcomments .form-control,
.otv-addcomments input[type="text"],
.otv-addcomments textarea,
.otv-addcomments select {
  border-radius: 16px !important;
}

.otv-addcomments textarea {
  min-height: 150px;
}

.otv-addcomments .btn,
.otv-addcomments button,
.otv-addcomments input[type="submit"] {
  min-height: 44px;
  padding-left: 18px;
  padding-right: 18px;
}

/* existing comments */

.otv-comments-card .db-comment {
  margin-bottom: 16px;
  border-radius: 22px;
  border-color: var(--ov-line) !important;
  background: linear-gradient(180deg, #fff 0%, var(--ov-surface-2) 100%);
  box-shadow: var(--ov-shadow-xs);
}

.otv-comments-card .db-comment-author {
  color: var(--ov-green-deep) !important;
  background: var(--ov-green-soft);
  border-color: rgba(63,159,105,.14);
}

.otv-comments-card .db-comment-date,
.otv-comments-card .db-comment-parent {
  color: var(--ov-muted);
  background: #fff;
  border-color: var(--ov-line);
}

/* mobile */

@media (max-width: 1199.98px) {
  .otv-fullstory-hero {
    grid-template-columns: 380px minmax(0, 1fr) !important;
  }

  .otv-related-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .otv-case-card-mount .ai-case-card div,
  .otv-fullstory-text > .ai-case-card div {
    grid-template-columns: 124px minmax(0, 1fr);
  }
}

@media (max-width: 991.98px) {
  .otv-fullstory-hero {
    grid-template-columns: 1fr !important;
  }

  .otv-fullstory-poster,
  .otv-fullstory-poster-image,
  .otv-fullstory-poster img {
    min-height: 260px !important;
  }

  .otv-fullstory-brief {
    gap: 12px;
  }
}

@media (max-width: 767.98px) {
  .otv-fullstory-body {
    padding: 18px !important;
  }

  .otv-fullstory-header {
    margin-bottom: 18px;
    padding-bottom: 15px;
  }

  .otv-fullstory-title {
    font-size: 1.66rem !important;
    line-height: 1.12 !important;
  }

  .otv-fullstory-kicker,
  .otv-related-kicker,
  .otv-comments-kicker {
    min-height: 28px;
    padding: 5px 9px;
    font-size: .66rem;
  }

  .otv-fullstory-poster,
  .otv-fullstory-poster-image,
  .otv-fullstory-poster img {
    min-height: 210px !important;
    border-radius: 20px !important;
  }

  .otv-note-mount .ai-note,
  .otv-case-card-mount .ai-case-card,
  .otv-fullstory-text > .ai-case-card {
    padding: 15px;
    border-radius: 20px;
  }

  .otv-case-card-mount .ai-case-card div,
  .otv-fullstory-text > .ai-case-card div {
    display: block;
    padding: 9px 0;
    font-size: .9rem;
  }

  .otv-case-card-mount .ai-case-card strong,
  .otv-fullstory-text > .ai-case-card strong {
    display: block;
    margin-bottom: 3px;
  }

  .otv-note-mount .ai-note-body {
    max-height: 154px;
    font-size: .94rem;
    line-height: 1.68;
  }

  .otv-note-mount .ai-note-toggle-btn {
    width: 100%;
  }

  .otv-related-section,
  .otv-comments-card .card-body {
    padding: 18px !important;
  }

  .otv-related-head,
  .otv-comments-head {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  .otv-related-grid {
    grid-template-columns: 1fr;
  }
}
/* =========================================================
   OTZYVITO FINAL LAYOUT FIX
   Poster + case-card row, note full-width, FAQ accordion
   Вставить в самый конец custom.css
   ========================================================= */

.otv-fullstory {
  overflow: hidden !important;
}

.otv-fullstory-body {
  position: relative;
}

.otv-fullstory-header {
  margin-bottom: 24px !important;
  padding-bottom: 20px !important;
  border-bottom: 1px solid var(--ov-line-2) !important;
}

.otv-fullstory-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 34px;
  margin-bottom: 13px;
  padding: 8px 13px;
  border-radius: 999px;
  background: var(--ov-green-soft);
  border: 1px solid rgba(63,159,105,.16);
  color: var(--ov-green-deep);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.otv-fullstory-kicker-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--ov-red);
  box-shadow: 0 0 0 5px rgba(213,92,92,.10);
}

.otv-fullstory-title {
  max-width: 1060px;
  margin-bottom: 16px !important;
}

.otv-fullstory-meta {
  gap: 9px;
}

.otv-fullstory-meta .fs-meta-item,
.otv-fullstory-rating .rate_like,
.otv-fullstory-rating .rate_like-dislike,
.otv-fullstory-rating .rate_stars {
  min-height: 34px;
  padding: 7px 11px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--ov-line);
  color: var(--ov-muted) !important;
  font-size: .82rem;
  font-weight: 760;
  box-shadow: var(--ov-shadow-xs);
}

.otv-fullstory-category {
  background: var(--ov-green-soft) !important;
  border-color: rgba(63,159,105,.15) !important;
  color: var(--ov-green-deep) !important;
  font-weight: 900 !important;
}

/* top row: poster + case card */

.otv-case-top-grid {
  display: grid !important;
  grid-template-columns: minmax(330px, .95fr) minmax(360px, 1.05fr) !important;
  gap: 20px !important;
  align-items: stretch !important;
  margin: 0 0 18px !important;
}

.otv-case-poster {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 362px !important;
  min-height: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 24px !important;
  background: #e9f2ea !important;
  border: 1px solid var(--ov-line) !important;
  box-shadow: var(--ov-shadow-sm) !important;
  line-height: 0 !important;
}

.otv-case-poster::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.55);
  border-radius: inherit;
}

.otv-case-poster-img,
.otv-case-poster img,
.otv-case-poster .poster_one,
.otv-case-poster .xfieldimage {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.otv-no-case-card .otv-case-top-grid {
  grid-template-columns: 1fr !important;
}

.otv-no-case-card .otv-case-poster {
  height: 360px !important;
}

.otv-case-card-box {
  min-width: 0;
  display: flex;
  align-items: stretch;
}

.otv-case-card-mount {
  width: 100%;
  min-width: 0;
  display: flex;
}

.otv-case-card-mount .ai-case-card,
.otv-fullstory-text > .ai-case-card {
  position: relative;
  width: 100%;
  min-width: 0;
  margin: 0 !important;
  padding: 18px 18px 16px !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at top right, rgba(213,92,92,.095), transparent 36%),
    linear-gradient(180deg, #fff 0%, #fffafa 100%) !important;
  border: 1px solid var(--ov-red-line) !important;
  box-shadow: var(--ov-shadow-sm) !important;
  overflow: hidden;
}

.otv-case-card-mount .ai-case-card {
  height: 362px;
  max-height: 362px;
  display: flex;
  flex-direction: column;
}

.otv-case-card-mount .ai-case-card::before,
.otv-fullstory-text > .ai-case-card::before {
  content: "Карточка кейса";
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 32px;
  margin-bottom: 10px;
  padding: 6px 11px;
  border-radius: 999px;
  background: var(--ov-red-soft);
  border: 1px solid rgba(213,92,92,.18);
  color: var(--ov-red-dark);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.otv-case-card-mount .ai-case-card::after,
.otv-fullstory-text > .ai-case-card::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: linear-gradient(180deg, var(--ov-red) 0%, var(--ov-green) 100%);
}

.otv-case-card-mount .ai-case-card div,
.otv-fullstory-text > .ai-case-card div {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 126px minmax(0, 1fr);
  gap: 12px;
  padding: 8px 0;
  border-top: 1px solid rgba(213,92,92,.13);
  color: var(--ov-text-2);
  font-size: .9rem;
  line-height: 1.38;
}

.otv-case-card-mount .ai-case-card div:first-of-type,
.otv-fullstory-text > .ai-case-card div:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.otv-case-card-mount .ai-case-card div:last-child,
.otv-fullstory-text > .ai-case-card div:last-child {
  padding-bottom: 0;
}

.otv-case-card-mount .ai-case-card strong,
.otv-fullstory-text > .ai-case-card strong {
  color: var(--ov-text);
  font-weight: 900;
}

.otv-fullstory-text > .ai-case-card {
  margin: 1.2rem 0 1.35rem !important;
  clear: both;
}

/* note full width */

.otv-note-wide {
  display: block;
  margin: 0 0 26px;
}

.otv-note-mount {
  width: 100%;
}

.otv-note-mount .ai-note {
  position: relative;
  width: 100%;
  margin: 0 !important;
  padding: 18px 20px 18px !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at top right, rgba(63,159,105,.10), transparent 34%),
    linear-gradient(180deg, #fff 0%, var(--ov-surface-2) 100%) !important;
  border: 1px solid var(--ov-line) !important;
  box-shadow: var(--ov-shadow-sm) !important;
  overflow: hidden !important;
}

.otv-note-mount .ai-note::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: linear-gradient(180deg, var(--ov-green) 0%, var(--ov-green-pale) 100%);
}

.otv-note-mount .ai-note-title {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  margin: 0 0 11px !important;
  padding: 6px 11px;
  border-radius: 999px;
  background: var(--ov-green-soft);
  border: 1px solid rgba(63,159,105,.14);
  color: var(--ov-green-deep);
  font-size: .75rem;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.otv-note-mount .ai-note-body,
.otv-note-mount .ai-note.is-open .ai-note-body,
.otv-note-mount .ai-note.is-collapsed .ai-note-body {
  max-height: none !important;
  overflow: visible !important;
  padding-right: 0 !important;
  color: var(--ov-text-2);
  font-size: 1rem;
  line-height: 1.72;
}

.otv-note-mount .ai-note-body::after,
.otv-note-mount .ai-note:not(.is-open) .ai-note-body::after,
.otv-note-mount .ai-note.is-collapsed .ai-note-body::after,
.otv-note-mount .ai-note-toggle,
.otv-note-mount .ai-note-toggle-btn {
  display: none !important;
}

.otv-note-mount .ai-note-body p:last-child {
  margin-bottom: 0;
}

/* article content */

.otv-fullstory-text {
  font-size: 1.04rem;
  line-height: 1.84;
}

.otv-fullstory-text > .ai-article > *:first-child {
  margin-top: 0 !important;
}

.otv-fullstory-text .ai-toc {
  margin-top: .2rem !important;
}

.otv-fullstory-text .ai-summary {
  margin-top: 1.6rem;
}

/* FAQ closed by default */

.otv-fullstory .ai-faq {
  display: grid;
  gap: 12px;
  margin: 1.1rem 0 0;
}

.otv-fullstory .ai-faq-item {
  position: relative;
  padding: 0;
  border-radius: 18px;
  background: #fff;
  border: 1px solid var(--ov-line);
  box-shadow: var(--ov-shadow-xs);
  overflow: hidden;
}

.otv-fullstory .ai-faq-question {
  position: relative;
  display: block;
  margin: 0 !important;
  padding: 15px 48px 15px 16px !important;
  color: var(--ov-text) !important;
  font-size: 1rem !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
  cursor: pointer !important;
  user-select: none;
}

.otv-fullstory .ai-faq-question::before {
  display: none !important;
}

.otv-fullstory .ai-faq-question::after {
  content: "+";
  position: absolute;
  right: 14px;
  top: 50%;
  width: 28px;
  height: 28px;
  margin-top: -14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: var(--ov-green-soft);
  border: 1px solid rgba(63,159,105,.14);
  color: var(--ov-green-deep);
  font-size: 18px;
  font-weight: 900;
}

.otv-fullstory .ai-faq-item.faq-open .ai-faq-question::after {
  content: "−";
  background: var(--ov-red-soft);
  border-color: rgba(213,92,92,.16);
  color: var(--ov-red-dark);
}

.otv-fullstory .ai-faq-answer {
  display: none !important;
  padding: 0 16px 16px;
  color: var(--ov-text-2);
  line-height: 1.72;
}

.otv-fullstory .ai-faq-item.faq-open .ai-faq-answer {
  display: block !important;
}

.otv-fullstory .ai-faq-answer p:last-child {
  margin-bottom: 0;
}

/* related */

.otv-related-section {
  position: relative;
  margin-bottom: 24px;
  padding: 22px;
  border-radius: 28px;
  background: linear-gradient(180deg, #fff 0%, var(--ov-surface-2) 100%);
  border: 1px solid var(--ov-line);
  box-shadow: var(--ov-shadow-sm);
  overflow: hidden;
}

.otv-related-section::before {
  content: "";
  position: absolute;
  left: 22px;
  right: 22px;
  top: 0;
  height: 4px;
  border-radius: 0 0 999px 999px;
  background: linear-gradient(90deg, var(--ov-green) 0%, #b9dfc0 54%, var(--ov-red) 100%);
}

.otv-related-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 17px;
  padding-bottom: 15px;
  border-bottom: 1px solid var(--ov-line-2);
}

.otv-related-kicker {
  display: inline-flex;
  min-height: 30px;
  margin-bottom: 7px;
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--ov-green-soft);
  border: 1px solid rgba(63,159,105,.14);
  color: var(--ov-green-deep);
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.otv-related-title {
  margin: 0;
  color: var(--ov-text);
  font-size: 1.35rem;
  font-weight: 900;
  line-height: 1.16;
}

.otv-related-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.otv-related-grid > * {
  min-width: 0;
}

.otv-related-grid .tv-top-news-item,
.otv-related-grid .shortstory,
.otv-related-grid article,
.otv-related-grid > div {
  margin-bottom: 0 !important;
}

/* comments */

.otv-comments-card {
  position: relative;
  border-radius: 28px !important;
  overflow: hidden;
}

.otv-comments-card::before {
  content: "";
  position: absolute;
  left: 22px;
  right: 22px;
  top: 0;
  height: 4px;
  border-radius: 0 0 999px 999px;
  background: linear-gradient(90deg, var(--ov-green) 0%, #b9dfc0 54%, var(--ov-red) 100%);
}

.otv-comments-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
  padding-bottom: 15px;
  border-bottom: 1px solid var(--ov-line-2);
}

.otv-comments-kicker {
  display: inline-flex;
  min-height: 30px;
  margin-bottom: 7px;
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--ov-red-soft);
  border: 1px solid rgba(213,92,92,.16);
  color: var(--ov-red-dark);
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.otv-comments-title {
  margin: 0;
  color: var(--ov-text);
  font-size: 1.35rem;
  font-weight: 900;
  line-height: 1.16;
}

.otv-comments-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 38px;
  padding: 0 12px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--ov-line);
  color: var(--ov-green-deep);
  font-weight: 900;
  box-shadow: var(--ov-shadow-xs);
}

.otv-comments-empty {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 15px;
  border-radius: 18px;
  background: var(--ov-green-soft-2);
  border: 1px solid var(--ov-line);
  color: var(--ov-muted);
}

.otv-comments-empty i {
  width: 40px;
  height: 40px;
  min-width: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: #fff;
  color: var(--ov-green-deep);
  border: 1px solid var(--ov-line);
}

.otv-comments-empty strong {
  display: block;
  color: var(--ov-text);
  font-weight: 900;
  margin-bottom: 2px;
}

.otv-comments-empty span {
  color: var(--ov-muted);
  font-size: .92rem;
}

.otv-addcomments {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--ov-line-2);
}

.otv-addcomments textarea {
  min-height: 150px;
}

.otv-addcomments .btn,
.otv-addcomments button,
.otv-addcomments input[type="submit"] {
  min-height: 44px;
  padding-left: 18px;
  padding-right: 18px;
}

.otv-comments-card .db-comment {
  margin-bottom: 16px;
  border-radius: 22px;
  border-color: var(--ov-line) !important;
  background: linear-gradient(180deg, #fff 0%, var(--ov-surface-2) 100%);
  box-shadow: var(--ov-shadow-xs);
}

.otv-comments-card .db-comment-author {
  color: var(--ov-green-deep) !important;
  background: var(--ov-green-soft);
  border-color: rgba(63,159,105,.14);
}

.otv-comments-card .db-comment-date,
.otv-comments-card .db-comment-parent {
  color: var(--ov-muted);
  background: #fff;
  border-color: var(--ov-line);
}

@media (max-width: 1199.98px) {
  .otv-case-top-grid {
    grid-template-columns: minmax(300px, .9fr) minmax(330px, 1.1fr) !important;
  }

  .otv-case-poster,
  .otv-case-card-mount .ai-case-card {
    height: 340px !important;
    max-height: 340px !important;
  }

  .otv-related-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .otv-case-card-mount .ai-case-card div,
  .otv-fullstory-text > .ai-case-card div {
    grid-template-columns: 116px minmax(0, 1fr);
  }
}

@media (max-width: 991.98px) {
  .otv-case-top-grid {
    grid-template-columns: 1fr !important;
  }

  .otv-case-poster,
  .otv-case-card-mount .ai-case-card {
    height: auto !important;
    max-height: none !important;
  }

  .otv-case-poster {
    min-height: 260px !important;
    height: 260px !important;
  }
}

@media (max-width: 767.98px) {
  .otv-fullstory-body {
    padding: 18px !important;
  }

  .otv-fullstory-header {
    margin-bottom: 18px !important;
    padding-bottom: 15px !important;
  }

  .otv-fullstory-title {
    font-size: 1.66rem !important;
    line-height: 1.12 !important;
  }

  .otv-fullstory-kicker,
  .otv-related-kicker,
  .otv-comments-kicker {
    min-height: 28px;
    padding: 5px 9px;
    font-size: .66rem;
  }

  .otv-case-poster {
    height: 210px !important;
    min-height: 210px !important;
    border-radius: 20px !important;
  }

  .otv-note-mount .ai-note,
  .otv-case-card-mount .ai-case-card,
  .otv-fullstory-text > .ai-case-card {
    padding: 15px !important;
    border-radius: 20px !important;
  }

  .otv-case-card-mount .ai-case-card div,
  .otv-fullstory-text > .ai-case-card div {
    display: block;
    padding: 9px 0;
    font-size: .9rem;
  }

  .otv-case-card-mount .ai-case-card strong,
  .otv-fullstory-text > .ai-case-card strong {
    display: block;
    margin-bottom: 3px;
  }

  .otv-related-section,
  .otv-comments-card .card-body {
    padding: 18px !important;
  }

  .otv-related-head,
  .otv-comments-head {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  .otv-related-grid {
    grid-template-columns: 1fr;
  }
}
/* =========================================================
   OTZYVITO FINAL SOURCE + CASE LAYOUT FIX
   Вставить в самый конец custom.css, ниже всех прошлых правок
   ========================================================= */

/* верхняя сетка: постер + карточка без обрезания */
.otv-case-top-grid {
  display: grid !important;
  grid-template-columns: minmax(340px, .95fr) minmax(390px, 1.05fr) !important;
  gap: 22px !important;
  align-items: stretch !important;
  margin: 0 0 20px !important;
}

.otv-case-poster {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-height: 360px !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 26px !important;
  background: #eef5ee !important;
  border: 1px solid var(--ov-line) !important;
  box-shadow: var(--ov-shadow-sm) !important;
  line-height: 0 !important;
}

.otv-case-poster::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.62);
}

.otv-case-poster-img,
.otv-case-poster img,
.otv-case-poster .poster_one,
.otv-case-poster .xfieldimage {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.otv-case-card-box,
.otv-case-card-mount {
  min-width: 0 !important;
  display: flex !important;
  align-items: stretch !important;
  width: 100% !important;
}

.otv-case-card-mount .ai-case-card,
.otv-fullstory-text > .ai-case-card {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 360px !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 20px 20px 18px !important;
  border-radius: 26px !important;
  background:
    radial-gradient(circle at top right, rgba(213,92,92,.075), transparent 36%),
    linear-gradient(180deg, #fff 0%, #fffafa 100%) !important;
  border: 1px solid var(--ov-red-line) !important;
  box-shadow: var(--ov-shadow-sm) !important;
  overflow: visible !important;
}

.otv-case-card-mount .ai-case-card::before,
.otv-fullstory-text > .ai-case-card::before {
  content: "Карточка кейса";
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 32px;
  margin-bottom: 12px;
  padding: 6px 11px;
  border-radius: 999px;
  background: var(--ov-red-soft);
  border: 1px solid rgba(213,92,92,.18);
  color: var(--ov-red-dark);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.otv-case-card-mount .ai-case-card::after,
.otv-fullstory-text > .ai-case-card::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: linear-gradient(180deg, var(--ov-red) 0%, var(--ov-green) 100%);
}

.otv-case-card-mount .ai-case-card div,
.otv-fullstory-text > .ai-case-card div {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 12px;
  padding: 8px 0;
  border-top: 1px solid rgba(213,92,92,.13);
  color: var(--ov-text-2);
  font-size: .91rem;
  line-height: 1.36;
}

.otv-case-card-mount .ai-case-card div:first-of-type,
.otv-fullstory-text > .ai-case-card div:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.otv-case-card-mount .ai-case-card div:last-child,
.otv-fullstory-text > .ai-case-card div:last-child {
  padding-bottom: 0;
}

.otv-case-card-mount .ai-case-card strong,
.otv-fullstory-text > .ai-case-card strong {
  color: var(--ov-text);
  font-weight: 900;
}

.ai-source-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--ov-green-deep) !important;
  font-weight: 850 !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(63,159,105,.28) !important;
  box-shadow: none !important;
}

.ai-source-link::after {
  content: "↗";
  font-size: .82em;
  opacity: .72;
}

.ai-source-link:hover {
  color: var(--ov-red-dark) !important;
  border-bottom-color: rgba(213,92,92,.32) !important;
}

/* коротко по кейсу — широкий блок без хайда */
.otv-note-wide {
  display: block !important;
  margin: 0 0 28px !important;
}

.otv-note-mount .ai-note {
  position: relative;
  width: 100%;
  margin: 0 !important;
  padding: 20px 22px !important;
  border-radius: 26px !important;
  background:
    radial-gradient(circle at top right, rgba(63,159,105,.10), transparent 34%),
    linear-gradient(180deg, #fff 0%, var(--ov-surface-2) 100%) !important;
  border: 1px solid var(--ov-line) !important;
  box-shadow: var(--ov-shadow-sm) !important;
  overflow: hidden !important;
}

.otv-note-mount .ai-note::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: linear-gradient(180deg, var(--ov-green) 0%, var(--ov-green-pale) 100%);
}

.otv-note-mount .ai-note-title {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  margin: 0 0 11px !important;
  padding: 6px 11px;
  border-radius: 999px;
  background: var(--ov-green-soft);
  border: 1px solid rgba(63,159,105,.14);
  color: var(--ov-green-deep);
  font-size: .75rem;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.otv-note-mount .ai-note-body,
.otv-note-mount .ai-note.is-open .ai-note-body,
.otv-note-mount .ai-note.is-collapsed .ai-note-body {
  max-height: none !important;
  overflow: visible !important;
  padding-right: 0 !important;
  color: var(--ov-text-2);
  font-size: 1rem;
  line-height: 1.72;
}

.otv-note-mount .ai-note-body::after,
.otv-note-mount .ai-note:not(.is-open) .ai-note-body::after,
.otv-note-mount .ai-note.is-collapsed .ai-note-body::after,
.otv-note-mount .ai-note-toggle,
.otv-note-mount .ai-note-toggle-btn {
  display: none !important;
}

.otv-note-mount .ai-note-body p:last-child {
  margin-bottom: 0;
}

/* FAQ всегда закрыт по умолчанию */
.otv-fullstory .ai-faq-answer {
  display: none !important;
}

.otv-fullstory .ai-faq-item.faq-open .ai-faq-answer {
  display: block !important;
}

/* аккуратнее похожие и комментарии */
.otv-related-section,
.otv-comments-card {
  border-radius: 28px !important;
  border: 1px solid var(--ov-line) !important;
  background: linear-gradient(180deg, #fff 0%, var(--ov-surface-2) 100%) !important;
  box-shadow: var(--ov-shadow-sm) !important;
}

.otv-related-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.otv-related-grid > * {
  min-width: 0 !important;
}

@media (max-width: 1199.98px) {
  .otv-case-top-grid {
    grid-template-columns: minmax(320px, .9fr) minmax(340px, 1.1fr) !important;
  }

  .otv-related-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 991.98px) {
  .otv-case-top-grid {
    grid-template-columns: 1fr !important;
  }

  .otv-case-poster,
  .otv-case-card-mount .ai-case-card {
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
  }

  .otv-case-poster {
    height: 260px !important;
    min-height: 260px !important;
  }
}

@media (max-width: 767.98px) {
  .otv-case-poster {
    height: 210px !important;
    min-height: 210px !important;
    border-radius: 20px !important;
  }

  .otv-case-card-mount .ai-case-card,
  .otv-fullstory-text > .ai-case-card,
  .otv-note-mount .ai-note {
    padding: 15px !important;
    border-radius: 20px !important;
  }

  .otv-case-card-mount .ai-case-card div,
  .otv-fullstory-text > .ai-case-card div {
    display: block !important;
    padding: 9px 0 !important;
    font-size: .9rem !important;
  }

  .otv-case-card-mount .ai-case-card strong,
  .otv-fullstory-text > .ai-case-card strong {
    display: block !important;
    margin-bottom: 3px !important;
  }

  .otv-related-grid {
    grid-template-columns: 1fr !important;
  }
}
/* =========================================================
   OTZYVITO FINAL SOURCE + CASE LAYOUT FIX
   Вставить в самый конец custom.css, ниже всех прошлых правок
   ========================================================= */

/* верхняя сетка: постер + карточка без обрезания */
.otv-case-top-grid {
  display: grid !important;
  grid-template-columns: minmax(340px, .95fr) minmax(390px, 1.05fr) !important;
  gap: 22px !important;
  align-items: stretch !important;
  margin: 0 0 20px !important;
}

.otv-case-poster {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-height: 360px !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 26px !important;
  background: #eef5ee !important;
  border: 1px solid var(--ov-line) !important;
  box-shadow: var(--ov-shadow-sm) !important;
  line-height: 0 !important;
}

.otv-case-poster::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.62);
}

.otv-case-poster-img,
.otv-case-poster img,
.otv-case-poster .poster_one,
.otv-case-poster .xfieldimage {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.otv-case-card-box,
.otv-case-card-mount {
  min-width: 0 !important;
  display: flex !important;
  align-items: stretch !important;
  width: 100% !important;
}

.otv-case-card-mount .ai-case-card,
.otv-fullstory-text > .ai-case-card {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 360px !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 20px 20px 18px !important;
  border-radius: 26px !important;
  background:
    radial-gradient(circle at top right, rgba(213,92,92,.075), transparent 36%),
    linear-gradient(180deg, #fff 0%, #fffafa 100%) !important;
  border: 1px solid var(--ov-red-line) !important;
  box-shadow: var(--ov-shadow-sm) !important;
  overflow: visible !important;
}

.otv-case-card-mount .ai-case-card::before,
.otv-fullstory-text > .ai-case-card::before {
  content: "Карточка кейса";
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 32px;
  margin-bottom: 12px;
  padding: 6px 11px;
  border-radius: 999px;
  background: var(--ov-red-soft);
  border: 1px solid rgba(213,92,92,.18);
  color: var(--ov-red-dark);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.otv-case-card-mount .ai-case-card::after,
.otv-fullstory-text > .ai-case-card::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: linear-gradient(180deg, var(--ov-red) 0%, var(--ov-green) 100%);
}

.otv-case-card-mount .ai-case-card div,
.otv-fullstory-text > .ai-case-card div {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 12px;
  padding: 8px 0;
  border-top: 1px solid rgba(213,92,92,.13);
  color: var(--ov-text-2);
  font-size: .91rem;
  line-height: 1.36;
}

.otv-case-card-mount .ai-case-card div:first-of-type,
.otv-fullstory-text > .ai-case-card div:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.otv-case-card-mount .ai-case-card div:last-child,
.otv-fullstory-text > .ai-case-card div:last-child {
  padding-bottom: 0;
}

.otv-case-card-mount .ai-case-card strong,
.otv-fullstory-text > .ai-case-card strong {
  color: var(--ov-text);
  font-weight: 900;
}

.ai-source-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--ov-green-deep) !important;
  font-weight: 850 !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(63,159,105,.28) !important;
  box-shadow: none !important;
}

.ai-source-link::after {
  content: "↗";
  font-size: .82em;
  opacity: .72;
}

.ai-source-link:hover {
  color: var(--ov-red-dark) !important;
  border-bottom-color: rgba(213,92,92,.32) !important;
}

/* коротко по кейсу — широкий блок без хайда */
.otv-note-wide {
  display: block !important;
  margin: 0 0 28px !important;
}

.otv-note-mount .ai-note {
  position: relative;
  width: 100%;
  margin: 0 !important;
  padding: 20px 22px !important;
  border-radius: 26px !important;
  background:
    radial-gradient(circle at top right, rgba(63,159,105,.10), transparent 34%),
    linear-gradient(180deg, #fff 0%, var(--ov-surface-2) 100%) !important;
  border: 1px solid var(--ov-line) !important;
  box-shadow: var(--ov-shadow-sm) !important;
  overflow: hidden !important;
}

.otv-note-mount .ai-note::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: linear-gradient(180deg, var(--ov-green) 0%, var(--ov-green-pale) 100%);
}

.otv-note-mount .ai-note-title {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  margin: 0 0 11px !important;
  padding: 6px 11px;
  border-radius: 999px;
  background: var(--ov-green-soft);
  border: 1px solid rgba(63,159,105,.14);
  color: var(--ov-green-deep);
  font-size: .75rem;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.otv-note-mount .ai-note-body,
.otv-note-mount .ai-note.is-open .ai-note-body,
.otv-note-mount .ai-note.is-collapsed .ai-note-body {
  max-height: none !important;
  overflow: visible !important;
  padding-right: 0 !important;
  color: var(--ov-text-2);
  font-size: 1rem;
  line-height: 1.72;
}

.otv-note-mount .ai-note-body::after,
.otv-note-mount .ai-note:not(.is-open) .ai-note-body::after,
.otv-note-mount .ai-note.is-collapsed .ai-note-body::after,
.otv-note-mount .ai-note-toggle,
.otv-note-mount .ai-note-toggle-btn {
  display: none !important;
}

.otv-note-mount .ai-note-body p:last-child {
  margin-bottom: 0;
}

/* FAQ всегда закрыт по умолчанию */
.otv-fullstory .ai-faq-answer {
  display: none !important;
}

.otv-fullstory .ai-faq-item.faq-open .ai-faq-answer {
  display: block !important;
}

/* аккуратнее похожие и комментарии */
.otv-related-section,
.otv-comments-card {
  border-radius: 28px !important;
  border: 1px solid var(--ov-line) !important;
  background: linear-gradient(180deg, #fff 0%, var(--ov-surface-2) 100%) !important;
  box-shadow: var(--ov-shadow-sm) !important;
}

.otv-related-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.otv-related-grid > * {
  min-width: 0 !important;
}

@media (max-width: 1199.98px) {
  .otv-case-top-grid {
    grid-template-columns: minmax(320px, .9fr) minmax(340px, 1.1fr) !important;
  }

  .otv-related-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 991.98px) {
  .otv-case-top-grid {
    grid-template-columns: 1fr !important;
  }

  .otv-case-poster,
  .otv-case-card-mount .ai-case-card {
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
  }

  .otv-case-poster {
    height: 260px !important;
    min-height: 260px !important;
  }
}

@media (max-width: 767.98px) {
  .otv-case-poster {
    height: 210px !important;
    min-height: 210px !important;
    border-radius: 20px !important;
  }

  .otv-case-card-mount .ai-case-card,
  .otv-fullstory-text > .ai-case-card,
  .otv-note-mount .ai-note {
    padding: 15px !important;
    border-radius: 20px !important;
  }

  .otv-case-card-mount .ai-case-card div,
  .otv-fullstory-text > .ai-case-card div {
    display: block !important;
    padding: 9px 0 !important;
    font-size: .9rem !important;
  }

  .otv-case-card-mount .ai-case-card strong,
  .otv-fullstory-text > .ai-case-card strong {
    display: block !important;
    margin-bottom: 3px !important;
  }

  .otv-related-grid {
    grid-template-columns: 1fr !important;
  }
}


/* =========================================================
   OTZYVITO COMPACT CASE CARD FINAL OVERRIDE
   Вставлено ниже прошлых правил: уменьшает постер/карточку и убирает вылезшую линию
   ========================================================= */

.otv-case-top-grid {
  grid-template-columns: minmax(300px, .88fr) minmax(360px, 1.12fr) !important;
  gap: 18px !important;
  align-items: stretch !important;
  margin-bottom: 18px !important;
}

.otv-case-poster {
  min-height: 286px !important;
  height: 286px !important;
  max-height: 286px !important;
  border-radius: 24px !important;
}

.otv-case-card-box,
.otv-case-card-mount {
  align-items: stretch !important;
}

.otv-case-card-mount .ai-case-card,
.otv-fullstory-text > .ai-case-card {
  min-height: 286px !important;
  height: 286px !important;
  max-height: 286px !important;
  padding: 16px 17px 15px !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  box-shadow: 0 10px 24px rgba(17, 32, 27, .055) !important;
}

.otv-case-card-mount .ai-case-card::before,
.otv-fullstory-text > .ai-case-card::before {
  min-height: 28px !important;
  margin-bottom: 9px !important;
  padding: 5px 10px !important;
  font-size: .66rem !important;
  line-height: 1.1 !important;
}

/* внутренняя линия, не торчит за радиусы */
.otv-case-card-mount .ai-case-card::after,
.otv-fullstory-text > .ai-case-card::after {
  left: 0 !important;
  top: 16px !important;
  bottom: 16px !important;
  width: 3px !important;
  border-radius: 0 999px 999px 0 !important;
}

.otv-case-card-mount .ai-case-card div,
.otv-fullstory-text > .ai-case-card div {
  grid-template-columns: 118px minmax(0, 1fr) !important;
  gap: 10px !important;
  padding: 6px 0 !important;
  font-size: .86rem !important;
  line-height: 1.28 !important;
}

.otv-case-card-mount .ai-case-card strong,
.otv-fullstory-text > .ai-case-card strong {
  font-size: .84rem !important;
  line-height: 1.18 !important;
}

/* Значения в карточке держим компактными. Подробности должны быть ниже в статье. */
.otv-case-card-mount .ai-case-card div > *:not(strong),
.otv-fullstory-text > .ai-case-card div > *:not(strong) {
  min-width: 0;
}

.otv-case-card-mount .ai-case-card div,
.otv-fullstory-text > .ai-case-card div {
  overflow: hidden;
}

.otv-case-card-mount .ai-case-card div:nth-of-type(4),
.otv-case-card-mount .ai-case-card div:nth-of-type(5),
.otv-case-card-mount .ai-case-card div:nth-of-type(6),
.otv-fullstory-text > .ai-case-card div:nth-of-type(4),
.otv-fullstory-text > .ai-case-card div:nth-of-type(5),
.otv-fullstory-text > .ai-case-card div:nth-of-type(6) {
  max-height: 46px !important;
}

.ai-source-link {
  max-width: 100%;
  display: inline !important;
  word-break: break-word;
}

.otv-note-wide {
  margin-top: 16px !important;
  margin-bottom: 22px !important;
}

.otv-note-wide .ai-note {
  padding: 17px 18px !important;
  border-radius: 22px !important;
  box-shadow: 0 10px 24px rgba(17, 32, 27, .045) !important;
}

.otv-note-wide .ai-note-body {
  font-size: .96rem !important;
  line-height: 1.64 !important;
}

@media (max-width: 1199.98px) {
  .otv-case-top-grid {
    grid-template-columns: minmax(280px, .86fr) minmax(340px, 1.14fr) !important;
    gap: 16px !important;
  }

  .otv-case-poster,
  .otv-case-card-mount .ai-case-card,
  .otv-fullstory-text > .ai-case-card {
    height: 276px !important;
    min-height: 276px !important;
    max-height: 276px !important;
  }

  .otv-case-card-mount .ai-case-card div,
  .otv-fullstory-text > .ai-case-card div {
    grid-template-columns: 108px minmax(0, 1fr) !important;
    font-size: .83rem !important;
  }
}

@media (max-width: 991.98px) {
  .otv-case-top-grid {
    grid-template-columns: 1fr !important;
  }

  .otv-case-poster,
  .otv-case-card-mount .ai-case-card,
  .otv-fullstory-text > .ai-case-card {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  .otv-case-poster {
    height: 240px !important;
    min-height: 240px !important;
  }

  .otv-case-card-mount .ai-case-card div:nth-of-type(4),
  .otv-case-card-mount .ai-case-card div:nth-of-type(5),
  .otv-case-card-mount .ai-case-card div:nth-of-type(6),
  .otv-fullstory-text > .ai-case-card div:nth-of-type(4),
  .otv-fullstory-text > .ai-case-card div:nth-of-type(5),
  .otv-fullstory-text > .ai-case-card div:nth-of-type(6) {
    max-height: none !important;
  }
}

@media (max-width: 767.98px) {
  .otv-case-poster {
    height: 210px !important;
    min-height: 210px !important;
  }

  .otv-case-card-mount .ai-case-card,
  .otv-fullstory-text > .ai-case-card {
    padding: 15px !important;
    border-radius: 20px !important;
  }

  .otv-case-card-mount .ai-case-card div,
  .otv-fullstory-text > .ai-case-card div {
    display: grid !important;
    grid-template-columns: 102px minmax(0, 1fr) !important;
    gap: 8px !important;
    font-size: .82rem !important;
  }
}

/* =========================================================
   OTZYVITO FINAL FIX — comments spacing + visible rating
   Эти правила оставлены в конце, чтобы перебить старые стили без дублей в шаблонах.
   ========================================================= */

/* Комментарии: пустой блок не должен сливаться с первым добавленным комментом */
.otv-comments-list {
  display: block;
}

.otv-comments-empty {
  margin: 0 0 18px !important;
}

.otv-comments-empty-hidden {
  display: none !important;
}

.otv-comments-list > .db-comment,
.otv-comments-list > .comment-item,
.otv-comments-list > .comments-tree-item,
.otv-comments-list > [id^="comment-id-"] {
  margin-top: 16px !important;
}

.otv-comments-list > .db-comment:first-child,
.otv-comments-list > .comment-item:first-child,
.otv-comments-list > .comments-tree-item:first-child,
.otv-comments-list > [id^="comment-id-"]:first-child:first-child {
  margin-top: 0 !important;
}

.otv-comments-empty:not(.otv-comments-empty-hidden) + .db-comment,
.otv-comments-empty:not(.otv-comments-empty-hidden) + .comment-item,
.otv-comments-empty:not(.otv-comments-empty-hidden) + .comments-tree-item,
.otv-comments-empty:not(.otv-comments-empty-hidden) + [id^="comment-id-"] {
  margin-top: 18px !important;
}

/* Комментарий после ajax-добавления — отдельной карточкой, не липнет к пустому состоянию */
.otv-comments-card .db-comment {
  padding: 18px !important;
  border-radius: 24px !important;
}

.otv-comments-card .db-comment + .db-comment {
  margin-top: 16px !important;
}

/* Рейтинг статьи: нормальная читаемая плашка вместо мелкого + 0 - */
.otv-fullstory-rating,
.tv-fs-pro-rating,
.fs-meta-rating {
  display: inline-flex !important;
  align-items: center !important;
}

.otv-fullstory-rating .rate,
.tv-fs-pro-rating .rate,
.fs-meta-rating .rate {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 42px !important;
  padding: 5px 7px 5px 12px !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  border: 1px solid var(--ov-line) !important;
  color: var(--ov-text-2) !important;
  box-shadow: var(--ov-shadow-xs) !important;
}

.otv-fullstory-rating .rate::before,
.tv-fs-pro-rating .rate::before,
.fs-meta-rating .rate::before {
  content: "Оценка";
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 4px 0 2px;
  color: var(--ov-muted);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .02em;
}

.otv-fullstory-rating .rate_like,
.otv-fullstory-rating .rate_like-dislike,
.tv-fs-pro-rating .rate_like,
.tv-fs-pro-rating .rate_like-dislike,
.fs-meta-rating .rate_like,
.fs-meta-rating .rate_like-dislike {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  min-height: 34px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.otv-fullstory-rating .rate-btn,
.tv-fs-pro-rating .rate-btn,
.fs-meta-rating .rate-btn,
.otv-fullstory-rating a,
.tv-fs-pro-rating a,
.fs-meta-rating a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  padding: 0 !important;
  border-radius: 12px !important;
  border: 1px solid var(--ov-line) !important;
  background: #fff !important;
  color: var(--ov-text) !important;
  font-size: 1.05rem !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: 0 4px 12px rgba(17, 32, 27, .045) !important;
}

.otv-fullstory-rating .rate-btn--plus,
.tv-fs-pro-rating .rate-btn--plus,
.fs-meta-rating .rate-btn--plus,
.otv-fullstory-rating .ratingplus + a,
.tv-fs-pro-rating .ratingplus + a,
.fs-meta-rating .ratingplus + a {
  color: var(--ov-green-deep) !important;
  background: var(--ov-green-soft) !important;
  border-color: rgba(63,159,105,.22) !important;
}

.otv-fullstory-rating .rate-btn--minus,
.tv-fs-pro-rating .rate-btn--minus,
.fs-meta-rating .rate-btn--minus {
  color: var(--ov-red-dark) !important;
  background: var(--ov-red-soft) !important;
  border-color: rgba(213,92,92,.24) !important;
}

.otv-fullstory-rating .rate-btn:hover,
.tv-fs-pro-rating .rate-btn:hover,
.fs-meta-rating .rate-btn:hover,
.otv-fullstory-rating a:hover,
.tv-fs-pro-rating a:hover,
.fs-meta-rating a:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(17, 32, 27, .075) !important;
}

.otv-fullstory-rating .rate-value,
.tv-fs-pro-rating .rate-value,
.fs-meta-rating .rate-value,
.otv-fullstory-rating .ratingtypeplusminus,
.tv-fs-pro-rating .ratingtypeplusminus,
.fs-meta-rating .ratingtypeplusminus {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 34px !important;
  height: 34px !important;
  padding: 0 10px !important;
  border-radius: 12px !important;
  background: var(--ov-green-soft-2) !important;
  border: 1px solid var(--ov-line) !important;
  color: var(--ov-text) !important;
  font-size: .95rem !important;
  font-weight: 950 !important;
  line-height: 1 !important;
}

.otv-fullstory-rating .ratingplus,
.tv-fs-pro-rating .ratingplus,
.fs-meta-rating .ratingplus {
  color: var(--ov-green-deep) !important;
}

.otv-fullstory-rating .ratingminus,
.tv-fs-pro-rating .ratingminus,
.fs-meta-rating .ratingminus {
  color: var(--ov-red-dark) !important;
}

@media (max-width: 767.98px) {
  .otv-fullstory-rating .rate::before,
  .tv-fs-pro-rating .rate::before,
  .fs-meta-rating .rate::before {
    content: "Рейтинг";
  }

  .otv-fullstory-rating .rate,
  .tv-fs-pro-rating .rate,
  .fs-meta-rating .rate {
    min-height: 40px !important;
  }
}


/* =========================================================
   OTZYVITO HOTFIX — empty comments block must stay visible at 0 comments
   ========================================================= */
.otv-comments-list {
  display: block !important;
}

.otv-comments-empty {
  display: flex;
  margin: 0 0 18px !important;
}

.otv-comments-empty.otv-comments-empty-hidden {
  display: none !important;
}

.otv-comments-list > .db-comment,
.otv-comments-list > .dle-comment,
.otv-comments-list > .comment-item,
.otv-comments-list > .comments-tree-item,
.otv-comments-list > .comments-tree-list,
.otv-comments-list > [id^="comment-id-"] {
  margin-top: 16px !important;
}

.otv-comments-empty:not(.otv-comments-empty-hidden) + .db-comment,
.otv-comments-empty:not(.otv-comments-empty-hidden) + .dle-comment,
.otv-comments-empty:not(.otv-comments-empty-hidden) + .comment-item,
.otv-comments-empty:not(.otv-comments-empty-hidden) + .comments-tree-item,
.otv-comments-empty:not(.otv-comments-empty-hidden) + .comments-tree-list,
.otv-comments-empty:not(.otv-comments-empty-hidden) + [id^="comment-id-"] {
  margin-top: 18px !important;
}
/* =========================================================
   OTZYVITO SIDEBAR V2
   Compact clean sidebar: search / login / popular / links
   Вставить в самый конец custom.css
   ========================================================= */

.ov-sidebar-v2 {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.ov-sidebar-v2 .card,
.ov-sidebar-v2 .tv-side-card,
.ov-sidebar-v2 .ov-side-card,
.ov-sidebar-v2 .ov-side-search-card {
  position: relative;
  overflow: hidden;
  margin-bottom: 0 !important;
  border-radius: 26px !important;
  border: 1px solid var(--ov-line, #dfe9df) !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(213, 92, 92, .045), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #fbfdfb 100%) !important;
  box-shadow: 0 14px 34px rgba(17, 32, 27, .06) !important;
}

.ov-sidebar-v2 .card::before,
.ov-sidebar-v2 .tv-side-card::before,
.ov-sidebar-v2 .ov-side-card::before,
.ov-sidebar-v2 .ov-side-search-card::before {
  content: "";
  display: block;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, var(--ov-green, #3f9f69) 0%, #b9dfc0 55%, var(--ov-red, #d55c5c) 100%);
}

.ov-sidebar-v2 .card-body {
  padding: 18px !important;
}

.ov-side-head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 0;
}

.ov-side-kicker {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 30px;
  padding: 6px 11px;
  border-radius: 999px;
  background: var(--ov-green-soft, #edf8ef);
  border: 1px solid rgba(63, 159, 105, .16);
  color: var(--ov-green-deep, #124f34);
  font-size: .68rem;
  line-height: 1.1;
  font-weight: 900;
  letter-spacing: .075em;
  text-transform: uppercase;
}

.ov-side-kicker .iconify {
  font-size: 14px;
  color: var(--ov-green-dark, #1f6f49);
}

.ov-side-title {
  color: var(--ov-text, #17201b);
  font-size: 1.08rem;
  line-height: 1.18;
  font-weight: 900;
  letter-spacing: -.035em;
}

.ov-side-divider {
  width: 100%;
  height: 1px;
  margin: 15px 0 14px;
  background: linear-gradient(90deg, rgba(63, 159, 105, .22), rgba(213, 92, 92, .12), transparent);
}

/* ---------- search ---------- */

.ov-side-search-form {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-top: 14px;
}

.ov-side-search-field {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}

.ov-side-search-icon {
  position: absolute;
  left: 14px;
  top: 50%;
  z-index: 2;
  transform: translateY(-50%);
  color: var(--ov-muted, #68766e);
  font-size: 18px;
  pointer-events: none;
}

.ov-side-search-input {
  width: 100% !important;
  height: 46px !important;
  min-height: 46px !important;
  padding: 0 14px 0 42px !important;
  border-radius: 15px !important;
  border: 1px solid var(--ov-line, #dfe9df) !important;
  background: #ffffff !important;
  color: var(--ov-text, #17201b) !important;
  font-size: .9rem !important;
  font-weight: 650;
  box-shadow: none !important;
}

.ov-side-search-input::placeholder {
  color: #87958c !important;
}

.ov-side-search-input:focus {
  border-color: rgba(63, 159, 105, .52) !important;
  box-shadow: var(--ov-focus-green, 0 0 0 .22rem rgba(63, 159, 105, .16)) !important;
}

.ov-side-search-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 44px;
  padding: 10px 16px;
  border: 0;
  border-radius: 15px;
  background: linear-gradient(135deg, #2f8f5c 0%, #55ad75 100%);
  color: #ffffff;
  font-size: .92rem;
  line-height: 1.2;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 12px 24px rgba(63, 159, 105, .16);
  transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
}

.ov-side-search-btn:hover,
.ov-side-search-btn:focus {
  transform: translateY(-1px);
  background: linear-gradient(135deg, #26764c 0%, #469d68 100%);
  box-shadow: 0 16px 30px rgba(63, 159, 105, .22);
  outline: none;
}

/* ---------- login block spacing ---------- */

.ov-side-login-wrap {
  display: block;
}

.ov-side-login-wrap > .card,
.ov-side-login-wrap > .tv-auth-card,
.ov-side-login-wrap > .tv-user-card,
.ov-side-login-wrap > div {
  margin-bottom: 0 !important;
}

/* ---------- popular top news ---------- */

.ov-side-top-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.ov-sidebar-v2 .tv-top-news-item {
  margin: 0 !important;
}

.ov-sidebar-v2 .tv-top-news-link {
  position: relative;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  padding: 12px !important;
  overflow: hidden;
  border-radius: 19px !important;
  border: 1px solid var(--ov-line, #dfe9df) !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(63, 159, 105, .055), transparent 36%),
    #ffffff !important;
  box-shadow: 0 5px 16px rgba(17, 32, 27, .045) !important;
  text-decoration: none !important;
}

.ov-sidebar-v2 .tv-top-news-link::before {
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  bottom: 12px;
  width: 4px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--ov-green, #3f9f69), var(--ov-red, #d55c5c));
}

.ov-sidebar-v2 .tv-top-news-link:hover,
.ov-sidebar-v2 .tv-top-news-link:focus {
  transform: translateY(-2px);
  border-color: var(--ov-line-strong, #cbdccc) !important;
  background: var(--ov-green-soft-2, #f5fbf6) !important;
  box-shadow: 0 14px 28px rgba(17, 32, 27, .07) !important;
}

.ov-sidebar-v2 .tv-top-news-thumb-wrap {
  position: relative;
  z-index: 2;
  width: 100% !important;
  flex: none !important;
}

.ov-sidebar-v2 .tv-top-news-thumb {
  display: block;
  width: 100% !important;
  height: 118px !important;
  object-fit: cover;
  object-position: center;
  border-radius: 15px !important;
  border: 1px solid var(--ov-line, #dfe9df);
  background: #e8efe8;
  box-shadow: none;
}

.ov-sidebar-v2 .tv-top-news-body {
  position: relative;
  z-index: 2;
  min-width: 0;
  display: block;
}

.ov-sidebar-v2 .tv-top-news-title {
  margin: 0 0 10px !important;
  color: var(--ov-text, #17201b);
  font-size: .96rem !important;
  line-height: 1.28 !important;
  font-weight: 900 !important;
  letter-spacing: -.025em;
  word-break: normal;
  overflow-wrap: anywhere;
}

.ov-sidebar-v2 .tv-top-news-link:hover .tv-top-news-title {
  color: var(--ov-red-dark, #a83737);
}

.ov-sidebar-v2 .tv-top-news-meta {
  display: flex !important;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.ov-sidebar-v2 .tv-top-news-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 26px;
  padding: 5px 8px;
  border-radius: 999px;
  background: var(--ov-green-soft-2, #f5fbf6);
  border: 1px solid var(--ov-line, #dfe9df);
  color: var(--ov-muted, #68766e);
  font-size: .7rem;
  font-weight: 800;
  line-height: 1.1;
}

.ov-sidebar-v2 .tv-top-news-meta-item i,
.ov-sidebar-v2 .tv-top-news-meta-item .iconify {
  color: var(--ov-green-dark, #1f6f49);
}

/* ---------- useful links ---------- */

.ov-side-links {
  display: flex;
  flex-direction: column;
  gap: 9px;
  padding-top: 0 !important;
}

.ov-side-links li {
  margin: 0 !important;
}

.ov-side-links a {
  position: relative;
  display: flex !important;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 11px 13px !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  border: 1px solid var(--ov-line, #dfe9df) !important;
  color: var(--ov-text-2, #34413a) !important;
  font-size: .92rem;
  line-height: 1.2;
  font-weight: 850;
  text-decoration: none !important;
  box-shadow: none !important;
}

.ov-side-links a::before {
  display: none !important;
}

.ov-side-links a .iconify {
  width: 32px;
  height: 32px;
  min-width: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px;
  border-radius: 12px;
  background: var(--ov-green-soft, #edf8ef);
  color: var(--ov-green-deep, #124f34);
  border: 1px solid rgba(63, 159, 105, .13);
}

.ov-side-links a:hover,
.ov-side-links a:focus {
  transform: translateY(-1px);
  background: var(--ov-green-soft-2, #f5fbf6) !important;
  border-color: var(--ov-line-strong, #cbdccc) !important;
  color: var(--ov-green-deep, #124f34) !important;
}

.ov-side-links a:hover .iconify,
.ov-side-links a:focus .iconify {
  background: var(--ov-red-soft, #fff1f1);
  color: var(--ov-red-dark, #a83737);
  border-color: rgba(213, 92, 92, .15);
}

/* ---------- DLE old classes cleanup inside sidebar ---------- */

.ov-sidebar-v2 .tv-side-card .card-title,
.ov-sidebar-v2 .tv-side-head,
.ov-sidebar-v2 .tv-side-kicker {
  margin: 0;
}

.ov-sidebar-v2 .tv-side-divider {
  display: none;
}

.ov-sidebar-v2 .tv-side-links {
  padding-top: 0;
}

/* ---------- responsive ---------- */

@media (max-width: 991.98px) {
  .ov-sidebar-v2 {
    margin-top: 18px;
  }

  .ov-sidebar-v2 .tv-top-news-thumb {
    height: 160px !important;
  }
}

@media (max-width: 575.98px) {
  .ov-sidebar-v2 {
    gap: 14px;
  }

  .ov-sidebar-v2 .card-body {
    padding: 16px !important;
  }

  .ov-side-title {
    font-size: 1rem;
  }

  .ov-sidebar-v2 .tv-top-news-thumb {
    height: 138px !important;
  }

  .ov-sidebar-v2 .tv-top-news-title {
    font-size: .92rem !important;
  }
}
/* =========================================================
   Otzyvito company account static page
   ========================================================= */

.otv-company-account-page {
  max-width: 920px;
  margin: 0 auto;
  color: var(--ov-text-2, #34413a);
}

.otv-company-account-page,
.otv-company-account-page * {
  box-sizing: border-box;
}

.otv-ca-hero,
.otv-ca-card,
.otv-ca-final {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--ov-line, #dfe9df);
  background: linear-gradient(180deg, #ffffff 0%, #fbfdfb 100%);
  box-shadow: 0 12px 28px rgba(17, 32, 27, .055);
}

.otv-ca-hero {
  margin-bottom: 18px;
  padding: 24px 26px;
  border-radius: 26px;
}

.otv-ca-hero::before,
.otv-ca-card::before,
.otv-ca-final::before {
  content: "";
  position: absolute;
  left: 20px;
  right: 20px;
  top: 0;
  height: 4px;
  border-radius: 0 0 999px 999px;
  background: linear-gradient(90deg, var(--ov-green, #3f9f69) 0%, #b9dfc0 55%, var(--ov-red, #d55c5c) 100%);
}

.otv-ca-label {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  margin-bottom: 12px;
  padding: 6px 11px;
  border-radius: 999px;
  background: var(--ov-green-soft, #edf8ef);
  border: 1px solid rgba(63, 159, 105, .16);
  color: var(--ov-green-deep, #124f34);
  font-size: .7rem;
  line-height: 1.1;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.otv-ca-hero h1 {
  margin: 0 0 10px !important;
  padding: 0 !important;
  color: var(--ov-text, #17201b) !important;
  font-size: clamp(1.65rem, 2.5vw, 2.25rem) !important;
  line-height: 1.12 !important;
  font-weight: 900 !important;
  letter-spacing: -.045em !important;
}

.otv-ca-hero p {
  max-width: 780px;
  margin: 0;
  color: var(--ov-text-2, #34413a);
  font-size: .98rem;
  line-height: 1.65;
  font-weight: 560;
}

.otv-ca-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 16px;
}

.otv-ca-card {
  margin-bottom: 16px;
  padding: 21px 22px;
  border-radius: 24px;
}

.otv-ca-card h2 {
  margin: 0 0 10px !important;
  padding: 0 !important;
  color: var(--ov-text, #17201b) !important;
  font-size: 1.18rem !important;
  line-height: 1.22 !important;
  font-weight: 900 !important;
  letter-spacing: -.03em !important;
}

.otv-ca-card h2::before,
.otv-ca-card h2::after {
  display: none !important;
}

.otv-ca-card p {
  margin: 0 0 12px;
  color: var(--ov-text-2, #34413a);
  font-size: .94rem;
  line-height: 1.65;
}

.otv-ca-card p:last-child {
  margin-bottom: 0;
}

.otv-ca-card ul {
  margin: 12px 0 0;
  padding-left: 0;
  list-style: none;
}

.otv-ca-card li {
  position: relative;
  margin-bottom: 9px;
  padding-left: 22px;
  color: var(--ov-text-2, #34413a);
  font-size: .93rem;
  line-height: 1.5;
}

.otv-ca-card li:last-child {
  margin-bottom: 0;
}

.otv-ca-card li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: .55em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--ov-green, #3f9f69);
  box-shadow: 0 0 0 5px rgba(63, 159, 105, .10);
}

.otv-ca-card-accent {
  background:
    radial-gradient(circle at top right, rgba(63, 159, 105, .10), transparent 36%),
    linear-gradient(180deg, #ffffff 0%, #f5fbf6 100%);
}

.otv-ca-email {
  margin: 12px 0 !important;
}

.otv-ca-email a {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 10px 15px;
  border-radius: 15px;
  background: var(--ov-green-soft, #edf8ef);
  border: 1px solid rgba(63, 159, 105, .18);
  color: var(--ov-green-deep, #124f34) !important;
  font-size: 1rem;
  font-weight: 900;
  text-decoration: none !important;
  box-shadow: 0 8px 18px rgba(63, 159, 105, .08);
}

.otv-ca-email a:hover {
  background: #ffffff;
  color: var(--ov-red-dark, #a83737) !important;
  border-color: rgba(213, 92, 92, .18);
}

.otv-ca-checklist {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.otv-ca-checklist div {
  position: relative;
  min-height: 44px;
  padding: 12px 13px 12px 38px;
  border-radius: 16px;
  background: #ffffff;
  border: 1px solid var(--ov-line, #dfe9df);
  color: var(--ov-text-2, #34413a);
  font-size: .9rem;
  line-height: 1.35;
  font-weight: 720;
}

.otv-ca-checklist div::before {
  content: "✓";
  position: absolute;
  left: 12px;
  top: 12px;
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--ov-green-soft, #edf8ef);
  color: var(--ov-green-deep, #124f34);
  font-size: .75rem;
  font-weight: 900;
}

.otv-ca-example {
  padding: 16px;
  border-radius: 18px;
  background: #ffffff;
  border: 1px solid var(--ov-line, #dfe9df);
  color: var(--ov-text-2, #34413a);
}

.otv-ca-example p {
  font-size: .92rem;
}

.otv-ca-warning {
  background:
    radial-gradient(circle at top right, rgba(213, 92, 92, .075), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #fffafa 100%);
  border-color: var(--ov-red-line, #f0c9c9);
}

.otv-ca-warning li::before {
  background: var(--ov-red, #d55c5c);
  box-shadow: 0 0 0 5px rgba(213, 92, 92, .09);
}

.otv-ca-final {
  padding: 18px 20px;
  border-radius: 22px;
  color: var(--ov-text-2, #34413a);
  font-size: .95rem;
  line-height: 1.6;
}

.otv-ca-final b {
  color: var(--ov-text, #17201b);
  font-weight: 900;
}

/* перебиваем глобальные стили статьи внутри этой страницы */
.otv-company-account-page h1::before,
.otv-company-account-page h2::before,
.otv-company-account-page h3::before {
  display: none !important;
}

.otv-company-account-page a {
  box-shadow: none !important;
}

@media (max-width: 767.98px) {
  .otv-ca-hero {
    padding: 20px;
    border-radius: 22px;
  }

  .otv-ca-grid,
  .otv-ca-checklist {
    grid-template-columns: 1fr;
  }

  .otv-ca-card {
    padding: 18px;
    border-radius: 20px;
  }

  .otv-ca-hero h1 {
    font-size: 1.55rem !important;
  }

  .otv-ca-card h2 {
    font-size: 1.08rem !important;
  }
}
/* =========================================================
   Otzyvito add complaint page
   ========================================================= */

.otv-add-complaint,
.otv-add-guest {
  max-width: 980px;
  margin: 0 auto;
}

.otv-add-head,
.otv-add-guest,
.otv-add-card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--ov-line, #dfe9df);
  border-radius: 28px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdfb 100%);
  box-shadow: 0 14px 34px rgba(17, 32, 27, .06);
}

.otv-add-head {
  margin-bottom: 18px;
  padding: 26px 28px;
}

.otv-add-head::before,
.otv-add-guest::before,
.otv-add-card::before {
  content: "";
  position: absolute;
  left: 22px;
  right: 22px;
  top: 0;
  height: 4px;
  border-radius: 0 0 999px 999px;
  background: linear-gradient(90deg, var(--ov-green, #3f9f69), #b9dfc0 55%, var(--ov-red, #d55c5c));
}

.otv-add-kicker,
.otv-add-guest__badge {
  display: inline-flex;
  align-items: center;
  min-height: 31px;
  margin-bottom: 13px;
  padding: 7px 12px;
  border-radius: 999px;
  background: var(--ov-green-soft, #edf8ef);
  border: 1px solid rgba(63, 159, 105, .16);
  color: var(--ov-green-deep, #124f34);
  font-size: .72rem;
  line-height: 1.1;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.otv-add-head h1,
.otv-add-guest h1 {
  margin: 0 0 10px !important;
  color: var(--ov-text, #17201b) !important;
  font-size: clamp(1.7rem, 2.6vw, 2.35rem) !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
  letter-spacing: -.045em !important;
}

.otv-add-head p,
.otv-add-guest p {
  max-width: 780px;
  margin: 0;
  color: var(--ov-text-2, #34413a);
  font-size: .98rem;
  line-height: 1.65;
}

.otv-add-card {
  padding: 0;
}

.otv-add-section {
  padding: 24px 26px;
  border-bottom: 1px solid var(--ov-line-2, #edf3ed);
}

.otv-add-section:last-child {
  border-bottom: 0;
}

.otv-add-section-head {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 18px;
}

.otv-add-section-head > span {
  width: 36px;
  height: 36px;
  min-width: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--ov-green, #3f9f69), #65b980);
  color: #fff;
  font-size: .95rem;
  font-weight: 900;
  box-shadow: 0 10px 22px rgba(63, 159, 105, .16);
}

.otv-add-section-head h2 {
  margin: 0 0 4px !important;
  padding: 0 !important;
  color: var(--ov-text, #17201b) !important;
  font-size: 1.18rem !important;
  line-height: 1.22 !important;
  font-weight: 900 !important;
  letter-spacing: -.03em !important;
}

.otv-add-section-head h2::before,
.otv-add-section-head h2::after {
  display: none !important;
}

.otv-add-section-head p {
  margin: 0;
  color: var(--ov-muted, #68766e);
  font-size: .92rem;
  line-height: 1.5;
}

.otv-add-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.otv-add-complaint label {
  margin-bottom: 7px;
  color: var(--ov-text, #17201b);
  font-size: .92rem;
  font-weight: 850;
}

.otv-add-complaint .form-group {
  margin-bottom: 16px;
}

.otv-add-complaint .form-group:last-child {
  margin-bottom: 0;
}

.otv-add-complaint textarea.form-control,
.otv-add-complaint textarea.wide {
  width: 100% !important;
  min-height: 150px;
  padding: 13px 15px;
  border-radius: 17px !important;
  border: 1px solid var(--ov-line, #dfe9df) !important;
  background: #ffffff !important;
  color: var(--ov-text, #17201b) !important;
  font-size: .95rem;
  line-height: 1.55;
  box-shadow: none !important;
}

.otv-add-complaint #full_story {
  min-height: 260px;
}

.otv-add-complaint small,
.otv-add-complaint .form-text {
  color: var(--ov-muted, #68766e) !important;
  font-size: .82rem;
  line-height: 1.45;
}

.otv-add-rules {
  background:
    radial-gradient(circle at top right, rgba(213, 92, 92, .06), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #fffafa 100%);
}

.otv-add-rules ul {
  margin: 0;
  padding-left: 0;
  list-style: none;
}

.otv-add-rules li {
  position: relative;
  margin-bottom: 9px;
  padding-left: 24px;
  color: var(--ov-text-2, #34413a);
  font-size: .93rem;
  line-height: 1.55;
}

.otv-add-rules li:last-child {
  margin-bottom: 0;
}

.otv-add-rules li::before {
  content: "";
  position: absolute;
  left: 3px;
  top: .58em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--ov-red, #d55c5c);
  box-shadow: 0 0 0 5px rgba(213, 92, 92, .09);
}

.otv-add-submit {
  padding: 24px 26px 26px;
  background: var(--ov-green-soft-2, #f5fbf6);
}

.otv-add-submit-btn,
.otv-add-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 20px;
  border: 0;
  border-radius: 16px;
  background: linear-gradient(135deg, #2f8f5c 0%, #55ad75 100%);
  color: #fff !important;
  font-size: .95rem;
  line-height: 1.2;
  font-weight: 900;
  text-decoration: none !important;
  box-shadow: 0 12px 24px rgba(63, 159, 105, .18);
  cursor: pointer;
}

.otv-add-submit-btn:hover,
.otv-add-primary:hover {
  transform: translateY(-1px);
  background: linear-gradient(135deg, #26764c 0%, #469d68 100%);
  color: #fff !important;
}

.otv-add-submit p {
  margin: 12px 0 0;
  color: var(--ov-muted, #68766e);
  font-size: .88rem;
  line-height: 1.5;
}

.otv-add-guest {
  padding: 28px;
}

.otv-add-guest__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.otv-add-light {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 20px;
  border-radius: 16px;
  background: #ffffff;
  border: 1px solid var(--ov-line, #dfe9df);
  color: var(--ov-text-2, #34413a) !important;
  font-size: .95rem;
  font-weight: 850;
  text-decoration: none !important;
}

.otv-add-light:hover {
  background: var(--ov-green-soft, #edf8ef);
  color: var(--ov-green-deep, #124f34) !important;
}

@media (max-width: 767.98px) {
  .otv-add-head,
  .otv-add-guest {
    padding: 20px;
    border-radius: 22px;
  }

  .otv-add-section,
  .otv-add-submit {
    padding: 20px;
  }

  .otv-add-grid {
    grid-template-columns: 1fr;
  }

  .otv-add-section-head {
    gap: 11px;
  }

  .otv-add-section-head > span {
    width: 32px;
    height: 32px;
    min-width: 32px;
    border-radius: 12px;
  }

  .otv-add-head h1,
  .otv-add-guest h1 {
    font-size: 1.5rem !important;
  }
}

/* =========================================================
   OTZYVITO FULLSTORY USER COMPLAINT FINAL
   case_* xfields + gallery output
   ========================================================= */

.otv-case-top-grid {
  display: grid;
  grid-template-columns: minmax(320px, 430px) minmax(0, 1fr);
  gap: 22px;
  align-items: stretch;
  margin: 0 0 22px;
}

.otv-case-poster {
  position: relative;
  min-height: 260px;
  margin: 0;
  border-radius: 24px;
  overflow: hidden;
  background: #e7efe7;
  border: 1px solid var(--ov-line, #dfe9df);
  box-shadow: 0 12px 28px rgba(17, 32, 27, .055);
  line-height: 0;
}

.otv-case-poster-img,
.otv-case-poster img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 260px;
  object-fit: cover;
  object-position: center;
  border-radius: 0 !important;
}

.otv-case-card-box {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.otv-case-card-mount {
  width: 100%;
}

.otv-user-case-card {
  position: relative;
  width: 100%;
  height: 100%;
  padding: 18px;
  border-radius: 24px;
  background:
    radial-gradient(circle at top right, rgba(213, 92, 92, .075), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #fffafa 100%);
  border: 1px solid var(--ov-red-line, #f0c9c9);
  box-shadow: 0 12px 28px rgba(17, 32, 27, .055);
  overflow: hidden;
}

.otv-user-case-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 14px;
  bottom: 14px;
  width: 4px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--ov-red, #d55c5c), var(--ov-green, #3f9f69));
}

.otv-user-case-card__label {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  margin: 0 0 12px;
  padding: 6px 11px;
  border-radius: 999px;
  background: var(--ov-red-soft, #fff1f1);
  border: 1px solid rgba(213, 92, 92, .18);
  color: var(--ov-red-dark, #a83737);
  font-size: .73rem;
  line-height: 1.1;
  font-weight: 900;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.otv-user-case-card__row {
  display: grid;
  grid-template-columns: 128px minmax(0, 1fr);
  gap: 12px;
  padding: 9px 0;
  border-top: 1px solid rgba(213, 92, 92, .13);
  color: var(--ov-text-2, #34413a);
  font-size: .91rem;
  line-height: 1.45;
}

.otv-user-case-card__row:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.otv-user-case-card__row span {
  color: var(--ov-text, #17201b);
  font-weight: 900;
}

.otv-user-case-card__row strong {
  color: var(--ov-text-2, #34413a);
  font-weight: 650;
}

.otv-user-case-card__row-wide strong {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.otv-note-wide {
  margin: 0 0 24px;
}

.otv-user-summary {
  position: relative;
  width: 100%;
  padding: 20px 21px 18px;
  border-radius: 24px;
  background:
    radial-gradient(circle at top right, rgba(63, 159, 105, .08), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #f5fbf6 100%);
  border: 1px solid var(--ov-line, #dfe9df);
  box-shadow: 0 12px 28px rgba(17, 32, 27, .055);
  overflow: hidden;
}

.otv-user-summary::before {
  content: "";
  position: absolute;
  left: 0;
  top: 14px;
  bottom: 14px;
  width: 4px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--ov-green, #3f9f69), var(--ov-red, #d55c5c));
}

.otv-user-summary__label {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  margin: 0 0 12px;
  padding: 6px 11px;
  border-radius: 999px;
  background: var(--ov-green-soft, #edf8ef);
  border: 1px solid rgba(63, 159, 105, .16);
  color: var(--ov-green-deep, #124f34);
  font-size: .73rem;
  line-height: 1.1;
  font-weight: 900;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.otv-user-summary__text {
  color: var(--ov-text-2, #34413a);
  font-size: .98rem;
  line-height: 1.72;
}

.otv-user-summary__text p:last-child {
  margin-bottom: 0;
}

.otv-user-evidence {
  position: relative;
  margin: 0 0 26px;
  padding: 20px;
  border-radius: 26px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdfb 100%);
  border: 1px solid var(--ov-line, #dfe9df);
  box-shadow: 0 12px 28px rgba(17, 32, 27, .055);
  overflow: hidden;
}

.otv-user-evidence::before {
  content: "";
  position: absolute;
  left: 20px;
  right: 20px;
  top: 0;
  height: 4px;
  border-radius: 0 0 999px 999px;
  background: linear-gradient(90deg, var(--ov-green, #3f9f69), #b9dfc0 55%, var(--ov-red, #d55c5c));
}

.otv-user-evidence__head {
  margin-bottom: 15px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--ov-line-2, #edf3ed);
}

.otv-user-evidence__kicker {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  margin-bottom: 7px;
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--ov-green-soft, #edf8ef);
  border: 1px solid rgba(63, 159, 105, .16);
  color: var(--ov-green-deep, #124f34);
  font-size: .7rem;
  line-height: 1.1;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.otv-user-evidence h2 {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ov-text, #17201b) !important;
  font-size: 1.28rem !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: -.035em !important;
}

.otv-user-evidence h2::before,
.otv-user-evidence h2::after {
  display: none !important;
}

.otv-user-evidence__body {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.otv-user-evidence__body img {
  display: block;
  width: 180px;
  height: 130px;
  object-fit: cover;
  margin: 0;
  border-radius: 18px;
  border: 1px solid var(--ov-line, #dfe9df);
  box-shadow: 0 8px 18px rgba(17, 32, 27, .06);
}

.otv-user-evidence__body a {
  display: inline-block;
  text-decoration: none !important;
}

.otv-user-evidence__body br {
  display: none;
}

.otv-case-card-box .ai-case-card + .otv-user-case-card,
.otv-note-mount .ai-note + .otv-user-summary {
  display: none !important;
}

@media (max-width: 1199.98px) {
  .otv-case-top-grid {
    grid-template-columns: minmax(280px, 380px) minmax(0, 1fr);
  }

  .otv-user-case-card__row {
    grid-template-columns: 118px minmax(0, 1fr);
    gap: 10px;
  }
}

@media (max-width: 991.98px) {
  .otv-case-top-grid {
    grid-template-columns: 1fr;
  }

  .otv-user-case-card {
    height: auto;
  }

  .otv-case-poster,
  .otv-case-poster-img,
  .otv-case-poster img {
    min-height: 230px;
  }
}

@media (max-width: 767.98px) {
  .otv-user-case-card,
  .otv-user-summary,
  .otv-user-evidence {
    padding: 16px;
    border-radius: 20px;
  }

  .otv-user-case-card__row {
    display: block;
    padding: 9px 0;
    font-size: .9rem;
  }

  .otv-user-case-card__row span {
    display: block;
    margin-bottom: 3px;
  }

  .otv-user-summary__text {
    font-size: .94rem;
    line-height: 1.65;
  }

  .otv-user-evidence__body img {
    width: calc(50% - 5px);
    height: 112px;
  }
}

@media (max-width: 420px) {
  .otv-user-evidence__body img {
    width: 100%;
    height: auto;
  }
}
/* =========================================================
   OTZYVITO SHORTSTORY FINAL
   Cards for complaints, AI articles and user materials
   ========================================================= */

.otv-ss-card {
  position: relative;
  overflow: hidden;
  border-radius: 28px !important;
  border: 1px solid var(--ov-line, #dfe9df) !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(213, 92, 92, .045), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #fbfdfb 100%) !important;
  box-shadow: 0 14px 34px rgba(17, 32, 27, .06) !important;
}

.otv-ss-card::before {
  content: "";
  position: absolute;
  left: 22px;
  right: 22px;
  top: 0;
  height: 4px;
  border-radius: 0 0 999px 999px;
  background: linear-gradient(90deg, var(--ov-green, #3f9f69) 0%, #b9dfc0 55%, var(--ov-red, #d55c5c) 100%);
}

.otv-ss-card--fixed::after {
  content: "Закреплено";
  position: absolute;
  right: 22px;
  top: 14px;
  z-index: 4;
  min-height: 28px;
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--ov-red-soft, #fff1f1);
  border: 1px solid rgba(213, 92, 92, .16);
  color: var(--ov-red-dark, #a83737);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.otv-ss-body {
  position: relative;
  padding: 24px !important;
}

.otv-ss-layout {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 22px;
  align-items: stretch;
}

.otv-ss-poster {
  position: relative;
  display: block;
  width: 100%;
  min-height: 215px;
  border-radius: 22px;
  overflow: hidden;
  background: #e8efe8;
  border: 1px solid var(--ov-line, #dfe9df);
  box-shadow: 0 10px 24px rgba(17, 32, 27, .055);
  text-decoration: none !important;
}

.otv-ss-image {
  display: block;
  width: 100% !important;
  height: 100% !important;
  min-height: 215px;
  object-fit: cover;
  object-position: center;
  border-radius: 0 !important;
  transition: transform .28s ease;
}

.otv-ss-card:hover .otv-ss-image {
  transform: scale(1.025);
}

.otv-ss-fixed-badge {
  position: absolute;
  left: 12px;
  top: 12px;
  z-index: 3;
  min-height: 28px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  color: var(--ov-red-dark, #a83737);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
  box-shadow: 0 8px 18px rgba(17, 32, 27, .10);
}

.otv-ss-content {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.otv-ss-dropdown {
  position: absolute;
  top: 16px;
  right: 18px;
  z-index: 6;
}

.otv-ss-more {
  width: 36px;
  height: 32px;
  padding: 0 !important;
  border-radius: 999px !important;
  border: 1px solid var(--ov-line, #dfe9df) !important;
  background: #ffffff !important;
  color: var(--ov-text-2, #34413a) !important;
  box-shadow: 0 8px 18px rgba(17, 32, 27, .06);
}

.otv-ss-topline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
  margin-bottom: 11px;
  padding-right: 42px;
}

.otv-ss-category,
.otv-ss-category a {
  display: inline-flex;
  align-items: center;
  min-height: 31px;
  padding: 7px 11px;
  border-radius: 999px;
  background: var(--ov-green-soft, #edf8ef);
  border: 1px solid rgba(63, 159, 105, .16);
  color: var(--ov-green-deep, #124f34) !important;
  font-size: .72rem;
  line-height: 1.1;
  font-weight: 900;
  letter-spacing: .055em;
  text-transform: uppercase;
  text-decoration: none !important;
}

.otv-ss-case-mini {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.otv-ss-case-mini span {
  display: inline-flex;
  align-items: center;
  min-height: 29px;
  padding: 6px 9px;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid var(--ov-line, #dfe9df);
  color: var(--ov-muted, #68766e);
  font-size: .72rem;
  line-height: 1.1;
  font-weight: 850;
}

.otv-ss-title {
  margin: 0 0 11px !important;
  padding: 0 !important;
  color: var(--ov-text, #17201b) !important;
  font-size: clamp(1.28rem, 2.1vw, 1.72rem) !important;
  line-height: 1.12 !important;
  font-weight: 900 !important;
  letter-spacing: -.045em !important;
}

.otv-ss-title::before,
.otv-ss-title::after {
  display: none !important;
}

.otv-ss-title a {
  color: inherit !important;
  text-decoration: none !important;
}

.otv-ss-title a:hover {
  color: var(--ov-red-dark, #a83737) !important;
}

.otv-ss-complaint {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 12px;
}

.otv-ss-complaint-row {
  min-width: 0;
  padding: 9px 10px;
  border-radius: 15px;
  background: #ffffff;
  border: 1px solid var(--ov-line, #dfe9df);
}

.otv-ss-complaint-row span {
  display: block;
  margin-bottom: 3px;
  color: var(--ov-muted, #68766e);
  font-size: .68rem;
  line-height: 1.1;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.otv-ss-complaint-row strong {
  display: block;
  color: var(--ov-text, #17201b);
  font-size: .83rem;
  line-height: 1.25;
  font-weight: 900;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.otv-ss-excerpt {
  margin: 0 0 13px;
  color: var(--ov-text-2, #34413a);
  font-size: .96rem;
  line-height: 1.65;
}

.otv-ss-excerpt p:last-child {
  margin-bottom: 0;
}

.otv-ss-extra {
  display: grid;
  gap: 8px;
  margin: 0 0 14px;
}

.otv-ss-extra-item {
  display: grid;
  grid-template-columns: 126px minmax(0, 1fr);
  gap: 10px;
  padding: 10px 12px;
  border-radius: 16px;
  background:
    radial-gradient(circle at 100% 0%, rgba(213, 92, 92, .04), transparent 36%),
    #ffffff;
  border: 1px solid var(--ov-line, #dfe9df);
}

.otv-ss-extra-item span {
  color: var(--ov-text, #17201b);
  font-size: .82rem;
  font-weight: 900;
}

.otv-ss-extra-item strong {
  color: var(--ov-text-2, #34413a);
  font-size: .86rem;
  line-height: 1.38;
  font-weight: 650;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.otv-ss-editnote {
  margin: 0 0 12px;
  padding: 10px 12px;
  border-radius: 14px;
  background: var(--ov-red-soft, #fff1f1);
  border: 1px solid rgba(213, 92, 92, .14);
  color: var(--ov-red-dark, #a83737);
  font-size: .82rem;
  line-height: 1.45;
  font-weight: 750;
}

.otv-ss-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: auto;
  padding-top: 13px;
  border-top: 1px solid var(--ov-line-2, #edf3ed);
}

.otv-ss-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.otv-ss-meta li {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  margin: 0 !important;
  padding: 6px 10px;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid var(--ov-line, #dfe9df);
  color: var(--ov-muted, #68766e);
  font-size: .76rem;
  line-height: 1.1;
  font-weight: 800;
}

.otv-ss-meta i {
  color: var(--ov-green-dark, #1f6f49);
}

.otv-ss-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}

.otv-ss-rate-link,
.otv-ss-rate-btn,
.otv-ss-rate-box {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none !important;
}

.otv-ss-rate-box {
  min-height: 36px;
  padding: 4px;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid var(--ov-line, #dfe9df);
  box-shadow: 0 8px 18px rgba(17, 32, 27, .045);
}

.otv-ss-rate-control,
.otv-ss-rate-count,
.otv-ss-rate-value,
.otv-ss-rate-btn {
  min-width: 32px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  font-size: .9rem;
  line-height: 1;
  font-weight: 900;
}

.otv-ss-rate-control--plus,
.otv-ss-rate-count--plus,
.otv-ss-rate-btn {
  background: var(--ov-green-soft, #edf8ef);
  color: var(--ov-green-deep, #124f34);
  border: 1px solid rgba(63, 159, 105, .15);
}

.otv-ss-rate-control--minus,
.otv-ss-rate-count--minus {
  background: var(--ov-red-soft, #fff1f1);
  color: var(--ov-red-dark, #a83737);
  border: 1px solid rgba(213, 92, 92, .15);
}

.otv-ss-rate-value {
  color: var(--ov-text, #17201b);
}

.otv-ss-readmore {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 9px 15px;
  border-radius: 999px;
  background: linear-gradient(135deg, #2f8f5c 0%, #55ad75 100%);
  color: #ffffff !important;
  font-size: .86rem;
  line-height: 1;
  font-weight: 900;
  text-decoration: none !important;
  box-shadow: 0 10px 22px rgba(63, 159, 105, .16);
}

.otv-ss-readmore:hover {
  transform: translateY(-1px);
  color: #ffffff !important;
  box-shadow: 0 14px 28px rgba(63, 159, 105, .22);
}

@media (max-width: 1199.98px) {
  .otv-ss-layout {
    grid-template-columns: 230px minmax(0, 1fr);
    gap: 18px;
  }

  .otv-ss-complaint {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  .otv-ss-body {
    padding: 18px !important;
  }

  .otv-ss-layout {
    grid-template-columns: 1fr;
  }

  .otv-ss-poster,
  .otv-ss-image {
    min-height: 190px;
  }

  .otv-ss-topline {
    padding-right: 42px;
  }

  .otv-ss-title {
    font-size: 1.32rem !important;
  }

  .otv-ss-extra-item {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .otv-ss-footer {
    flex-direction: column;
    align-items: stretch;
  }

  .otv-ss-actions {
    margin-left: 0;
    justify-content: space-between;
  }

  .otv-ss-readmore {
    flex: 1;
  }
}
/* =========================================================
   OTZYVITO SHORTSTORY CLEAN FINAL
   ========================================================= */

.otv-ss-card {
  border-radius: 28px !important;
}

.otv-ss-layout-clean {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  gap: 22px;
  align-items: stretch;
}

.otv-ss-layout-clean .otv-ss-poster {
  min-height: 210px;
  border-radius: 22px;
}

.otv-ss-layout-clean .otv-ss-image {
  min-height: 210px;
}

.otv-ss-hidden-gallery {
  display: none !important;
}

.otv-ss-topline {
  margin-bottom: 12px;
}

.otv-ss-title {
  margin-bottom: 12px !important;
}

.otv-ss-excerpt {
  max-width: 760px;
  margin-bottom: 14px;
  color: var(--ov-text-2, #34413a);
  font-size: .96rem;
  line-height: 1.65;
}

.otv-ss-excerpt p:last-child {
  margin-bottom: 0;
}

.otv-ss-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 15px;
}

.otv-ss-fact {
  min-width: 135px;
  max-width: 220px;
  padding: 9px 11px;
  border-radius: 15px;
  background: #ffffff;
  border: 1px solid var(--ov-line, #dfe9df);
}

.otv-ss-fact span {
  display: block;
  margin-bottom: 3px;
  color: var(--ov-muted, #68766e);
  font-size: .66rem;
  line-height: 1.1;
  font-weight: 900;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.otv-ss-fact strong {
  display: block;
  color: var(--ov-text, #17201b);
  font-size: .86rem;
  line-height: 1.22;
  font-weight: 900;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.otv-ss-footer {
  padding-top: 13px;
}

.otv-ss-actions {
  flex-shrink: 0;
}

.otv-ss-readmore {
  min-width: 98px;
}

.otv-user-evidence__body a.otv-user-evidence-link {
  display: inline-block;
  cursor: zoom-in;
}

.otv-user-evidence__body a.otv-user-evidence-link img {
  transition: transform .2s ease, box-shadow .2s ease;
}

.otv-user-evidence__body a.otv-user-evidence-link:hover img {
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(17, 32, 27, .12);
}

@media (max-width: 991.98px) {
  .otv-ss-layout-clean {
    grid-template-columns: 210px minmax(0, 1fr);
  }
}

@media (max-width: 767.98px) {
  .otv-ss-layout-clean {
    grid-template-columns: 1fr;
  }

  .otv-ss-layout-clean .otv-ss-poster,
  .otv-ss-layout-clean .otv-ss-image {
    min-height: 190px;
  }

  .otv-ss-facts {
    display: grid;
    grid-template-columns: 1fr;
  }

  .otv-ss-fact {
    max-width: none;
  }
}
/* =========================================================
   Otzyvito addnews xfields alignment fix
   ========================================================= */

.otv-add-complaint .otv-add-grid {
  align-items: start !important;
}

.otv-add-complaint .otv-add-grid > .form-group {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  margin-bottom: 16px !important;
}

.otv-add-complaint .otv-add-grid > .form-group > label {
  display: flex !important;
  align-items: center !important;
  min-height: 22px !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  line-height: 1.25 !important;
}

.otv-add-complaint .otv-add-grid .form-control,
.otv-add-complaint .otv-add-grid input[type="text"],
.otv-add-complaint .otv-add-grid select {
  height: 48px !important;
  min-height: 48px !important;
  margin: 0 !important;
}

/* если DLE/Bootstrap оборачивает select в bootstrap-select */
.otv-add-complaint .otv-add-grid .bootstrap-select,
.otv-add-complaint .otv-add-grid .bootstrap-select > .dropdown-toggle {
  height: 48px !important;
  min-height: 48px !important;
  margin: 0 !important;
}

.otv-add-complaint .otv-add-grid .bootstrap-select > .dropdown-toggle {
  display: flex !important;
  align-items: center !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* подсказки под полями тоже выравниваем */
.otv-add-complaint .otv-add-grid .form-text,
.otv-add-complaint .otv-add-grid small {
  display: block !important;
  min-height: 38px !important;
  margin-top: 8px !important;
  line-height: 1.45 !important;
}
/* =========================================================
   OTZYVITO FULLSTORY UX/SEO FINAL
   user complaints + AI articles + evidence carousel
   ========================================================= */

.otv-case-hero-grid {
  display: grid;
  grid-template-columns: minmax(300px, 420px) minmax(0, 1fr);
  gap: 22px;
  align-items: stretch;
  margin: 0 0 26px;
}

.otv-case-poster {
  position: relative;
  min-height: 260px;
  margin: 0;
  overflow: hidden;
  border-radius: 24px;
  background: #e7efe7;
  border: 1px solid var(--ov-line, #dfe9df);
  box-shadow: 0 12px 28px rgba(17, 32, 27, .055);
  line-height: 0;
}

.otv-case-poster-img,
.otv-case-poster img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 260px;
  object-fit: cover;
  object-position: center;
  border-radius: 0 !important;
}

.otv-case-aside {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.otv-case-card-mount {
  width: 100%;
}

.otv-user-case-mini {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 260px;
  padding: 18px;
  overflow: hidden;
  border-radius: 24px;
  background:
    radial-gradient(circle at top right, rgba(213, 92, 92, .07), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #fffafa 100%);
  border: 1px solid var(--ov-red-line, #f0c9c9);
  box-shadow: 0 12px 28px rgba(17, 32, 27, .055);
}

.otv-user-case-mini::before {
  content: "";
  position: absolute;
  left: 0;
  top: 14px;
  bottom: 14px;
  width: 4px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--ov-red, #d55c5c), var(--ov-green, #3f9f69));
}

.otv-user-case-mini__label {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  margin: 0 0 14px;
  padding: 6px 11px;
  border-radius: 999px;
  background: var(--ov-red-soft, #fff1f1);
  border: 1px solid rgba(213, 92, 92, .18);
  color: var(--ov-red-dark, #a83737);
  font-size: .73rem;
  line-height: 1.1;
  font-weight: 900;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.otv-user-case-mini__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.otv-user-case-mini__item {
  padding: 12px 13px;
  border-radius: 17px;
  background: #ffffff;
  border: 1px solid rgba(213, 92, 92, .13);
}

.otv-user-case-mini__item span {
  display: block;
  margin: 0 0 4px;
  color: var(--ov-muted, #68766e);
  font-size: .68rem;
  line-height: 1.1;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.otv-user-case-mini__item strong {
  display: block;
  color: var(--ov-text, #17201b);
  font-size: .96rem;
  line-height: 1.32;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.otv-note-wide {
  display: block;
  margin: 0 0 24px;
}

/* ===== full text ===== */

.otv-fullstory-content {
  margin-bottom: 26px;
}

.otv-fullstory-text img {
  max-width: 100%;
  height: auto;
}

.otv-fullstory-text iframe,
.otv-fullstory-text video {
  max-width: 100%;
}

.otv-fullstory-text h2[id],
.otv-fullstory-text section[id] {
  scroll-margin-top: 110px;
}

/* ===== user details: full visible text, no cuts ===== */

.otv-user-details {
  position: relative;
  margin: 0 0 28px;
  padding: 20px;
  overflow: hidden;
  border-radius: 26px;
  background:
    radial-gradient(circle at 100% 0%, rgba(63, 159, 105, .055), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #fbfdfb 100%);
  border: 1px solid var(--ov-line, #dfe9df);
  box-shadow: 0 12px 28px rgba(17, 32, 27, .055);
}

.otv-user-details::before {
  content: "";
  position: absolute;
  left: 20px;
  right: 20px;
  top: 0;
  height: 4px;
  border-radius: 0 0 999px 999px;
  background: linear-gradient(90deg, var(--ov-green, #3f9f69), #b9dfc0 55%, var(--ov-red, #d55c5c));
}

.otv-user-details__head {
  margin-bottom: 15px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--ov-line-2, #edf3ed);
}

.otv-user-details__kicker {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  margin-bottom: 7px;
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--ov-green-soft, #edf8ef);
  border: 1px solid rgba(63, 159, 105, .16);
  color: var(--ov-green-deep, #124f34);
  font-size: .7rem;
  line-height: 1.1;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.otv-user-details h2 {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ov-text, #17201b) !important;
  font-size: 1.28rem !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: -.035em !important;
}

.otv-user-details h2::before,
.otv-user-details h2::after {
  display: none !important;
}

.otv-user-details__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.otv-user-details__item {
  padding: 16px 17px;
  border-radius: 20px;
  background: #ffffff;
  border: 1px solid var(--ov-line, #dfe9df);
}

.otv-user-details__title {
  margin: 0 0 8px;
  color: var(--ov-text, #17201b);
  font-size: .9rem;
  line-height: 1.2;
  font-weight: 900;
}

.otv-user-details__text {
  color: var(--ov-text-2, #34413a);
  font-size: .95rem;
  line-height: 1.65;
  font-weight: 560;
  white-space: pre-line;
  overflow-wrap: anywhere;
}

/* ===== evidence gallery ===== */

.otv-user-evidence {
  position: relative;
  margin: 0 0 28px;
  padding: 20px;
  overflow: hidden;
  border-radius: 26px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdfb 100%);
  border: 1px solid var(--ov-line, #dfe9df);
  box-shadow: 0 12px 28px rgba(17, 32, 27, .055);
}

.otv-user-evidence::before {
  content: "";
  position: absolute;
  left: 20px;
  right: 20px;
  top: 0;
  height: 4px;
  border-radius: 0 0 999px 999px;
  background: linear-gradient(90deg, var(--ov-green, #3f9f69), #b9dfc0 55%, var(--ov-red, #d55c5c));
}

.otv-user-evidence__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 15px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--ov-line-2, #edf3ed);
}

.otv-user-evidence__kicker {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  margin-bottom: 7px;
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--ov-green-soft, #edf8ef);
  border: 1px solid rgba(63, 159, 105, .16);
  color: var(--ov-green-deep, #124f34);
  font-size: .7rem;
  line-height: 1.1;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.otv-user-evidence h2 {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ov-text, #17201b) !important;
  font-size: 1.28rem !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: -.035em !important;
}

.otv-user-evidence h2::before,
.otv-user-evidence h2::after {
  display: none !important;
}

.otv-user-evidence__nav {
  display: none;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.otv-user-evidence.has-carousel .otv-user-evidence__nav {
  display: inline-flex;
}

.otv-user-evidence__btn {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--ov-line, #dfe9df);
  border-radius: 999px;
  background: #ffffff;
  color: var(--ov-text, #17201b);
  font-size: 1.55rem;
  line-height: 1;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(17, 32, 27, .06);
  transition: transform .18s ease, background .18s ease, color .18s ease;
}

.otv-user-evidence__btn:hover {
  transform: translateY(-1px);
  background: var(--ov-green-soft, #edf8ef);
  color: var(--ov-green-deep, #124f34);
}

.otv-user-evidence__viewport {
  position: relative;
  overflow: hidden;
}

.otv-user-evidence__body {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch;
  gap: 12px;
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 2px 2px 10px;
  margin: 0;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
  scrollbar-color: rgba(63, 159, 105, .55) rgba(223, 233, 223, .7);
}

.otv-user-evidence__body::-webkit-scrollbar {
  height: 8px;
}

.otv-user-evidence__body::-webkit-scrollbar-track {
  background: rgba(223, 233, 223, .7);
  border-radius: 999px;
}

.otv-user-evidence__body::-webkit-scrollbar-thumb {
  background: rgba(63, 159, 105, .58);
  border-radius: 999px;
}

.otv-user-evidence__body ul,
.otv-user-evidence__body ol,
.otv-user-evidence__body .otv-gallery-list-reset {
  display: contents !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.otv-user-evidence__body li,
.otv-user-evidence__body .otv-gallery-li-reset {
  display: block !important;
  flex: 0 0 auto;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.otv-user-evidence__body li::before,
.otv-user-evidence__body li::marker {
  display: none !important;
  content: "" !important;
}

.otv-user-evidence__body a,
.otv-user-evidence-link {
  display: block !important;
  flex: 0 0 auto;
  width: 190px;
  height: 140px;
  margin: 0 !important;
  overflow: hidden;
  border-radius: 18px;
  text-decoration: none !important;
  scroll-snap-align: start;
  cursor: zoom-in;
}

.otv-user-evidence__body img {
  display: block !important;
  width: 190px !important;
  height: 140px !important;
  max-width: none !important;
  margin: 0 !important;
  object-fit: cover;
  object-position: center;
  border-radius: 18px;
  border: 1px solid var(--ov-line, #dfe9df);
  box-shadow: 0 8px 18px rgba(17, 32, 27, .06);
  transition: transform .2s ease, box-shadow .2s ease;
}

.otv-user-evidence__body a:hover img,
.otv-user-evidence-link:hover img {
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(17, 32, 27, .12);
}

.otv-user-evidence__body br {
  display: none !important;
}

/* ===== AI/user compatibility ===== */

.otv-case-aside .ai-case-card + .otv-user-case-mini,
.otv-note-mount .ai-note + .otv-user-summary {
  display: none !important;
}

/* ===== adaptive ===== */

@media (max-width: 1199.98px) {
  .otv-case-hero-grid {
    grid-template-columns: minmax(280px, 380px) minmax(0, 1fr);
  }
}

@media (max-width: 991.98px) {
  .otv-case-hero-grid {
    grid-template-columns: 1fr;
  }

  .otv-user-case-mini {
    min-height: 0;
    height: auto;
  }

  .otv-case-poster,
  .otv-case-poster-img,
  .otv-case-poster img {
    min-height: 230px;
  }
}

@media (max-width: 767.98px) {
  .otv-user-case-mini,
  .otv-user-details,
  .otv-user-evidence {
    padding: 16px;
    border-radius: 20px;
  }

  .otv-user-evidence__head {
    align-items: flex-start;
  }

  .otv-user-evidence__body a,
  .otv-user-evidence-link,
  .otv-user-evidence__body img {
    width: 165px !important;
    height: 122px !important;
  }

  .otv-user-details__item {
    padding: 14px;
    border-radius: 17px;
  }
}

@media (max-width: 420px) {
  .otv-user-evidence__body a,
  .otv-user-evidence-link,
  .otv-user-evidence__body img {
    width: 148px !important;
    height: 112px !important;
  }
}
/* =========================================================
   OTZYVITO RELATED NEWS CARDS FINAL
   Для template="relatednews"
   ========================================================= */

.otv-related-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.related-item-fix,
.aq-related-item {
  min-width: 0;
}

.related-card-fix,
.aq-related-card {
  position: relative;
  height: 100%;
  min-height: 100%;
  overflow: hidden;
  border-radius: 22px;
  background:
    radial-gradient(circle at 100% 0%, rgba(63, 159, 105, .055), transparent 36%),
    linear-gradient(180deg, #ffffff 0%, #fbfdfb 100%);
  border: 1px solid var(--ov-line, #dfe9df);
  box-shadow: 0 10px 24px rgba(17, 32, 27, .055);
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease,
    background .22s ease;
}

.related-card-fix:hover,
.aq-related-card:hover {
  transform: translateY(-3px);
  border-color: var(--ov-line-strong, #cbdccc);
  box-shadow: 0 18px 36px rgba(17, 32, 27, .085);
  background:
    radial-gradient(circle at 100% 0%, rgba(213, 92, 92, .06), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #f7fbf7 100%);
}

.related-card-click {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  text-decoration: none !important;
}

.related-thumb-fix,
.aq-related-thumb {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  height: 145px;
  overflow: hidden;
  background: #e8efe8;
  border-bottom: 1px solid var(--ov-line, #dfe9df);
  text-decoration: none !important;
}

.related-thumb-fix img,
.aq-related-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform .28s ease, filter .28s ease;
}

.related-card-fix:hover .related-thumb-fix img,
.aq-related-card:hover .aq-related-thumb img {
  transform: scale(1.035);
  filter: saturate(1.04) contrast(1.02);
}

.related-content-fix,
.aq-related-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  min-height: 175px;
  padding: 14px;
}

.related-cat-fix,
.aq-related-cat {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 9px;
}

.related-cat-fix a,
.aq-related-cat a,
.related-cat-fix,
.aq-related-cat {
  color: var(--ov-green-deep, #124f34);
  font-size: .68rem;
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: .045em;
  text-transform: uppercase;
  text-decoration: none !important;
}

.related-cat-fix a,
.aq-related-cat a {
  display: inline-flex;
  align-items: center;
  min-height: 27px;
  padding: 6px 9px;
  border-radius: 999px;
  background: var(--ov-green-soft, #edf8ef);
  border: 1px solid rgba(63, 159, 105, .16);
}

.related-cat-fix a:hover,
.aq-related-cat a:hover {
  background: #ffffff;
  color: var(--ov-red-dark, #a83737);
  border-color: rgba(213, 92, 92, .16);
}

.related-title-fix,
.aq-related-card-title {
  margin: 0 0 12px !important;
  padding: 0 !important;
  color: var(--ov-text, #17201b) !important;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, "Noto Sans", sans-serif !important;
  font-size: .98rem !important;
  line-height: 1.28 !important;
  font-weight: 780 !important;
  letter-spacing: -.018em !important;
}

.related-title-fix::before,
.related-title-fix::after,
.aq-related-card-title::before,
.aq-related-card-title::after {
  display: none !important;
}

.related-title-fix a,
.aq-related-card-title a {
  position: relative;
  z-index: 3;
  display: -webkit-box;
  overflow: hidden;
  color: inherit !important;
  text-decoration: none !important;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

.related-title-fix a:hover,
.aq-related-card-title a:hover {
  color: var(--ov-red-dark, #a83737) !important;
}

.related-bottom-fix,
.aq-related-bottom {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid var(--ov-line-2, #edf3ed);
}

.related-date-fix,
.aq-related-date {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 9px;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid var(--ov-line, #dfe9df);
  color: var(--ov-muted, #68766e);
  font-size: .72rem;
  line-height: 1;
  font-weight: 750;
  white-space: nowrap;
}

.related-btn-fix,
.aq-related-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 31px;
  padding: 7px 11px;
  border-radius: 999px;
  background: linear-gradient(135deg, #2f8f5c 0%, #55ad75 100%);
  color: #ffffff !important;
  font-size: .74rem;
  line-height: 1;
  font-weight: 800;
  text-decoration: none !important;
  white-space: nowrap;
  box-shadow: 0 8px 18px rgba(63, 159, 105, .14);
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.related-btn-fix:hover,
.aq-related-btn:hover {
  transform: translateY(-1px);
  color: #ffffff !important;
  background: linear-gradient(135deg, #26764c 0%, #469d68 100%);
  box-shadow: 0 12px 24px rgba(63, 159, 105, .2);
}

/* чтобы глобальная ссылка-оверлей не перекрывала реальные кнопки */
.related-thumb-fix,
.aq-related-thumb,
.related-title-fix a,
.aq-related-card-title a,
.related-cat-fix a,
.aq-related-cat a,
.related-btn-fix,
.aq-related-btn {
  position: relative;
  z-index: 3;
}

/* аккуратный fallback для no_image */
.related-thumb-fix img[src*="no_image"],
.aq-related-thumb img[src*="no_image"] {
  object-fit: cover;
  background: linear-gradient(135deg, #edf8ef 0%, #f7fbf7 100%);
}

/* mobile / tablet */
@media (max-width: 1199.98px) {
  .otv-related-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .related-thumb-fix,
  .aq-related-thumb {
    height: 138px;
  }
}

@media (max-width: 991.98px) {
  .otv-related-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .related-thumb-fix,
  .aq-related-thumb {
    height: 155px;
  }
}

@media (max-width: 575.98px) {
  .otv-related-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .related-card-fix,
  .aq-related-card {
    border-radius: 20px;
  }

  .related-thumb-fix,
  .aq-related-thumb {
    height: 180px;
  }

  .related-content-fix,
  .aq-related-content {
    min-height: 0;
    padding: 13px;
  }

  .related-title-fix,
  .aq-related-card-title {
    font-size: .96rem !important;
  }

  .related-bottom-fix,
  .aq-related-bottom {
    align-items: center;
  }
}
/* =========================================================
   OTZYVITO MAIN TEMPLATE FINAL
   main.tpl layout / hero / footer / speed / seo blocks
   ========================================================= */

:root {
  --otv-font-main: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, "Noto Sans", sans-serif;
}

html {
  scroll-behavior: smooth;
}

body.ov-body {
  font-family: var(--otv-font-main) !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(47, 143, 92, .08), transparent 30%),
    radial-gradient(circle at 100% 0%, rgba(201, 77, 77, .055), transparent 28%),
    linear-gradient(180deg, #fbfdf9 0%, #f6f8f4 48%, #eef5ee 100%) !important;
  color: var(--ov-text-2, #34413a);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.ov-layout {
  position: relative;
  padding-top: 24px;
  padding-bottom: 46px;
}

.ov-layout::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 8% 14%, rgba(63, 159, 105, .07), transparent 26%),
    radial-gradient(circle at 92% 44%, rgba(213, 92, 92, .04), transparent 28%);
}

.ov-main-col,
.ov-side-col {
  position: relative;
  z-index: 2;
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.ov-main-col {
  padding-right: 16px;
}

.ov-side-col {
  padding-left: 8px;
}

@media (min-width: 992px) {
  .ov-side-col::before {
    content: "";
    position: absolute;
    left: -8px;
    top: 8px;
    bottom: 8px;
    width: 1px;
    background: linear-gradient(180deg, transparent, rgba(31, 111, 73, .13), transparent);
  }
}

/* ===== home hero ===== */

.ov-home-hero {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--ov-line, #dfe9df) !important;
  border-radius: 30px !important;
  background:
    radial-gradient(circle at 12% 12%, rgba(47, 143, 92, .13), transparent 34%),
    radial-gradient(circle at 88% 12%, rgba(201, 77, 77, .08), transparent 34%),
    linear-gradient(135deg, #ffffff 0%, #f8fbf8 100%) !important;
  box-shadow: 0 14px 34px rgba(17, 32, 27, .06) !important;
}

.ov-home-hero::after {
  content: "OTZYVITO";
  position: absolute;
  right: 18px;
  bottom: 10px;
  color: rgba(23, 32, 27, .045);
  font-size: clamp(2.4rem, 6vw, 5.5rem);
  line-height: 1;
  font-weight: 900;
  letter-spacing: -.08em;
  pointer-events: none;
}

.ov-home-hero .card-body {
  position: relative;
  z-index: 2;
  padding: 30px 34px !important;
}

.ov-hero-kicker,
.ov-home-seo-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  margin-bottom: 16px;
  padding: 8px 13px;
  border-radius: 999px;
  background: var(--ov-green-soft, #eef8f0);
  border: 1px solid rgba(47, 143, 92, .16);
  color: var(--ov-green-dark, #1f6f49);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.ov-hero-kicker::before,
.ov-home-seo-kicker::before {
  content: "";
  width: 8px;
  height: 8px;
  min-width: 8px;
  border-radius: 50%;
  background: var(--ov-red, #c94d4d);
  box-shadow: 0 0 0 5px rgba(201, 77, 77, .09);
}

.ov-home-hero h1 {
  max-width: 940px;
  margin: 0 0 14px !important;
  color: var(--ov-text, #17201b) !important;
  font-size: clamp(1.75rem, 3.1vw, 1.65rem) !important;
  line-height: 1.08 !important;
  font-weight: 850 !important;
  letter-spacing: -.045em !important;
}

.ov-home-hero p {
  max-width: 940px;
  margin: 0;
  color: var(--ov-text-2, #34413a) !important;
  font-size: 1rem;
  line-height: 1.72;
  font-weight: 500;
}

.ov-home-note {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
}

.ov-home-note span {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 7px 11px;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid var(--ov-line, #dfe9df);
  color: var(--ov-muted, #68766e);
  font-size: .78rem;
  line-height: 1;
  font-weight: 760;
}

.ov-home-note span:first-child {
  background: var(--ov-green-soft, #eef8f0);
  border-color: rgba(47, 143, 92, .16);
  color: var(--ov-green-dark, #1f6f49);
}

.ov-home-note span:nth-child(2) {
  background: var(--ov-red-soft, #fff1f1);
  border-color: rgba(201, 77, 77, .16);
  color: var(--ov-red-dark, #a83737);
}

/* ===== category seo ===== */

.category-seo-box,
.ov-home-seo-card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--ov-line, #dfe9df) !important;
  border-radius: 24px !important;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdfb 100%) !important;
  box-shadow: 0 12px 28px rgba(17, 32, 27, .05) !important;
}

.category-seo-box::before,
.ov-home-seo-card::before {
  content: "";
  display: block;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, var(--ov-green, #2f8f5c) 0%, #dcebdc 55%, var(--ov-red, #c94d4d) 100%);
}

.category-seo-box .card-body,
.ov-home-seo-card .card-body {
  padding: 18px 20px !important;
}

.category-seo-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  color: var(--ov-text, #17201b);
  font-size: 1.04rem;
  font-weight: 850;
}

.category-seo-title i {
  color: var(--ov-green-dark, #1f6f49);
}

.category-seo-box .text-muted,
.category-seo-box .text-muted div {
  color: var(--ov-text-2, #34413a) !important;
  line-height: 1.65;
}

.ov-home-seo-card h2 {
  margin: 0 0 10px !important;
  padding: 0 !important;
  color: var(--ov-text, #17201b) !important;
  font-size: clamp(1.18rem, 1.8vw, 1.45rem) !important;
  line-height: 1.24 !important;
  font-weight: 820 !important;
  letter-spacing: -.025em !important;
}

.ov-home-seo-card h2::before,
.ov-home-seo-card h2::after {
  display: none !important;
}

.ov-home-seo-card p {
  max-width: 920px;
  margin: 0;
  color: var(--ov-text-2, #34413a);
  font-size: .96rem;
  line-height: 1.68;
}

/* ===== speedbar ===== */

.ov-speedbar {
  margin: 0 0 16px;
  padding: 12px 15px;
  border-radius: 18px;
  background: rgba(255, 255, 255, .76);
  border: 1px solid var(--ov-line, #dfe9df);
  box-shadow: 0 6px 18px rgba(17, 32, 27, .035);
  color: var(--ov-muted, #68766e);
  font-size: .88rem;
  line-height: 1.45;
}

.ov-speedbar a {
  color: var(--ov-green-dark, #1f6f49);
  font-weight: 720;
  text-decoration: none !important;
}

.ov-speedbar a:hover {
  color: var(--ov-red-dark, #a83737);
}

/* ===== footer ===== */

.ov-footer {
  margin-top: 28px;
  padding: 26px 0;
  border-top: 1px solid var(--ov-line, #dfe9df);
  color: var(--ov-muted, #68766e);
  background: rgba(255, 255, 255, .52);
}

.ov-footer-title {
  margin-bottom: 8px;
  color: var(--ov-text, #17201b);
  font-size: 1rem;
  font-weight: 850;
}

.ov-footer-text {
  max-width: 900px;
  margin: 0;
  color: var(--ov-muted, #68766e);
  font-size: .9rem;
  line-height: 1.62;
}

.ov-footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  margin-top: 12px;
}

.ov-footer-links a {
  color: var(--ov-green-dark, #1f6f49);
  font-size: .9rem;
  font-weight: 740;
  text-decoration: none !important;
}

.ov-footer-links a:hover {
  color: var(--ov-red-dark, #a83737);
}

/* ===== scroll top ===== */

.ov-scrolltop {
  position: fixed;
  right: 22px;
  bottom: 22px;
  width: 52px;
  height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #2f8f5c 0%, #55ad75 100%);
  color: #ffffff;
  box-shadow: 0 14px 30px rgba(47, 143, 92, .22);
  cursor: pointer;
  z-index: 1200;
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition: opacity .22s ease, visibility .22s ease, transform .22s ease, box-shadow .22s ease;
}

.ov-scrolltop:hover,
.ov-scrolltop:focus {
  color: #ffffff;
  outline: none;
  transform: translateY(-2px);
  box-shadow: 0 18px 36px rgba(47, 143, 92, .28);
}

.ov-scrolltop.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.ov-scrolltop i {
  font-size: 17px;
  line-height: 1;
}

/* ===== responsive ===== */

@media (max-width: 991.98px) {
  .ov-layout {
    padding-top: 16px;
    padding-bottom: 34px;
  }

  .ov-main-col,
  .ov-side-col {
    margin-top: .8rem;
    margin-bottom: .8rem;
    padding-left: 15px;
    padding-right: 15px;
  }

  .ov-home-hero .card-body {
    padding: 24px 22px !important;
  }

  .ov-home-hero h1 {
    font-size: 1.7rem !important;
    line-height: 1.12 !important;
  }

  .ov-home-hero p {
    font-size: .94rem;
    line-height: 1.62;
  }
}

@media (max-width: 767.98px) {
  .ov-home-hero {
    border-radius: 22px !important;
  }

  .ov-home-hero .card-body {
    padding: 20px 18px !important;
  }

  .ov-home-hero h1 {
    font-size: 1.42rem !important;
    letter-spacing: -.035em !important;
  }

  .ov-home-note {
    margin-top: 14px;
  }

  .ov-home-note span {
    min-height: 30px;
    font-size: .72rem;
  }

  .ov-home-seo-card h2 {
    font-size: 1.15rem !important;
  }

  .ov-scrolltop {
    right: 14px;
    bottom: 14px;
    width: 46px;
    height: 46px;
  }

  .ov-scrolltop i {
    font-size: 15px;
  }
}
/* =========================================================
   OTZYVITO SHORTSTORY FINAL CLEAN
   Полный стиль карточек списка / главной / категорий
   ========================================================= */

.otv-ss-card-final {
  position: relative;
  overflow: hidden;
  border-radius: 28px !important;
  border: 1px solid var(--ov-line, #dfe9df) !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(63, 159, 105, .055), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #fbfdfb 100%) !important;
  box-shadow: 0 14px 34px rgba(17, 32, 27, .06) !important;
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease,
    background .22s ease;
}

.otv-ss-card-final::before {
  content: "";
  position: absolute;
  left: 22px;
  right: 22px;
  top: 0;
  height: 4px;
  border-radius: 0 0 999px 999px;
  background: linear-gradient(
    90deg,
    var(--ov-green, #3f9f69) 0%,
    #b9dfc0 55%,
    var(--ov-red, #d55c5c) 100%
  );
}

.otv-ss-card-final:hover {
  transform: translateY(-2px);
  border-color: var(--ov-line-strong, #cbdccc) !important;
  box-shadow: 0 20px 46px rgba(17, 32, 27, .085) !important;
}

.otv-ss-card-final .otv-ss-body {
  position: relative;
  padding: 24px !important;
}

.otv-ss-layout {
  display: grid !important;
  grid-template-columns: 220px minmax(0, 1fr) !important;
  gap: 22px !important;
  align-items: start !important;
}

/* ===== poster ===== */

.otv-ss-poster {
  position: relative;
  display: block;
  width: 220px !important;
  height: 220px !important;
  min-width: 220px !important;
  min-height: 220px !important;
  aspect-ratio: 1 / 1 !important;
  align-self: start !important;
  overflow: hidden;
  border-radius: 22px;
  background: #e8efe8;
  border: 1px solid var(--ov-line, #dfe9df);
  box-shadow: 0 10px 24px rgba(17, 32, 27, .055);
  text-decoration: none !important;
  line-height: 0;
}

.otv-ss-image {
  display: block;
  width: 100% !important;
  height: 100% !important;  
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 0 !important;
  transition: transform .3s ease, filter .3s ease;
}

.otv-ss-image.otv-poster-from-gallery {
  object-position: center top !important;
}

.otv-ss-card-final:hover .otv-ss-image {
  transform: scale(1.035);
  filter: saturate(1.04) contrast(1.02);
}

.otv-ss-poster-shade {
  position: absolute;
  inset: auto 0 0;
  height: 44%;
  pointer-events: none;
  background: linear-gradient(180deg, transparent 0%, rgba(17, 32, 27, .16) 100%);
}

.otv-ss-fixed-badge {
  position: absolute;
  left: 12px;
  top: 12px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(213, 92, 92, .18);
  color: var(--ov-red-dark, #a83737);
  font-size: .7rem;
  line-height: 1;
  font-weight: 850;
  letter-spacing: .03em;
  text-transform: uppercase;
  box-shadow: 0 8px 18px rgba(17, 32, 27, .10);
}

.otv-ss-fixed-badge .iconify {
  display: block;
  width: 15px;
  height: 15px;
  min-width: 15px;
  font-size: 15px;
  line-height: 1;
}

.otv-ss-hidden-gallery {
  display: none !important;
}

/* ===== content ===== */

.otv-ss-content {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-self: stretch;
}

.otv-ss-topline {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 9px !important;
  margin: 0 0 12px !important;
  padding-right: 46px !important;
}

.otv-ss-category,
.otv-ss-status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  min-height: 34px;
  padding: 7px 12px;
  border-radius: 999px;
  line-height: 1;
  font-size: .73rem;
  font-weight: 800;
  letter-spacing: .02em;
  text-transform: uppercase;
  vertical-align: middle;
  white-space: nowrap;
}

.otv-ss-category {
  background: var(--ov-green-soft, #edf8ef);
  border: 1px solid rgba(63, 159, 105, .16);
  color: var(--ov-green-deep, #124f34);
}

.otv-ss-status-user {
  background: var(--ov-red-soft, #fff1f1);
  border: 1px solid rgba(213, 92, 92, .18);
  color: var(--ov-red-dark, #a83737);
}

.otv-ss-status-author {
  background: #eef5ff;
  border: 1px solid rgba(56, 118, 190, .18);
  color: #255f9f;
}

.otv-ss-status-pill[hidden],
.otv-ss-status-pill:not(.is-visible) {
  display: none !important;
}

.otv-ss-status-pill.is-visible {
  display: inline-flex !important;
}

.otv-ss-pill-icon,
.otv-ss-fact-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  line-height: 1 !important;
}

.otv-ss-pill-icon {
  width: 17px;
  height: 17px;
}

.otv-ss-pill-icon .iconify,
.otv-ss-category > .iconify,
.otv-ss-status-pill > .iconify,
.otv-ss-status-pill .iconify {
  display: block !important;
  width: 17px !important;
  height: 17px !important;
  min-width: 17px !important;
  font-size: 17px !important;
  line-height: 1 !important;
  transform: translateY(0) !important;
}

.otv-ss-pill-text {
  display: inline-flex;
  align-items: center;
  line-height: 1;
  white-space: nowrap;
}

.otv-ss-category a,
.otv-ss-category .otv-ss-pill-text a {
  display: inline-flex !important;
  align-items: center !important;
  color: inherit !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

.otv-ss-title {
  margin: 0 0 12px !important;
  padding: 0 !important;
  color: var(--ov-text, #17201b) !important;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, "Noto Sans", sans-serif !important;
  font-size: clamp(1.22rem, 2vw, 1.62rem) !important;
  line-height: 1.16 !important;
  font-weight: 820 !important;
  letter-spacing: -.032em !important;
  text-wrap: balance;
}

.otv-ss-title::before,
.otv-ss-title::after {
  display: none !important;
}

.otv-ss-title a {
  color: inherit !important;
  text-decoration: none !important;
}

.otv-ss-title a:hover {
  color: var(--ov-red-dark, #a83737) !important;
}

.otv-ss-excerpt {
  max-width: 780px;
  margin: 0 0 15px;
  color: var(--ov-text-2, #34413a);
  font-size: .96rem;
  line-height: 1.66;
  font-weight: 500;
}

.otv-ss-excerpt p:last-child {
  margin-bottom: 0;
}

/* ===== facts ===== */

.otv-ss-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin: 0 0 15px;
}

.otv-ss-fact {
  min-width: 150px;
  max-width: 250px;
  display: grid !important;
  grid-template-columns: 36px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: center !important;
  padding: 10px 11px;
  border-radius: 17px;
  background: #ffffff;
  border: 1px solid var(--ov-line, #dfe9df);
  box-shadow: 0 5px 14px rgba(17, 32, 27, .035);
}

.otv-ss-fact-icon {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  border-radius: 14px !important;
  background: var(--ov-green-soft, #edf8ef);
  color: var(--ov-green-deep, #124f34);
  border: 1px solid rgba(63, 159, 105, .14);
}

.otv-ss-fact-icon--red {
  background: var(--ov-red-soft, #fff1f1);
  color: var(--ov-red-dark, #a83737);
  border-color: rgba(213, 92, 92, .14);
}

.otv-ss-fact-icon .iconify {
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  font-size: 18px !important;
  line-height: 1 !important;
}

.otv-ss-fact-body {
  min-width: 0;
}

.otv-ss-fact small {
  display: block;
  margin: 0 0 3px;
  color: var(--ov-muted, #68766e);
  font-size: .66rem;
  line-height: 1.1;
  font-weight: 850;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.otv-ss-fact strong {
  display: block;
  color: var(--ov-text, #17201b);
  font-size: .88rem;
  line-height: 1.24;
  font-weight: 780;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ===== edit note ===== */

.otv-ss-editnote {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 0 0 13px;
  padding: 10px 12px;
  border-radius: 15px;
  background: var(--ov-red-soft, #fff1f1);
  border: 1px solid rgba(213, 92, 92, .15);
  color: var(--ov-red-dark, #a83737);
  font-size: .82rem;
  line-height: 1.45;
  font-weight: 650;
}

.otv-ss-editnote .iconify {
  display: block;
  width: 16px;
  height: 16px;
  min-width: 16px;
  margin-top: 1px;
  font-size: 16px;
  line-height: 1;
}

/* ===== footer/meta ===== */

.otv-ss-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: auto;
  padding-top: 13px;
  border-top: 1px solid var(--ov-line-2, #edf3ed);
}

.otv-ss-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.otv-ss-meta li {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px;
  min-height: 31px;
  margin: 0 !important;
  padding: 6px 10px;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid var(--ov-line, #dfe9df);
  color: var(--ov-muted, #68766e);
  font-size: .76rem;
  line-height: 1 !important;
  font-weight: 720;
}

.otv-ss-meta li .iconify {
  display: block !important;
  width: 15px !important;
  height: 15px !important;
  min-width: 15px !important;
  font-size: 15px !important;
  line-height: 1 !important;
  color: var(--ov-green-dark, #1f6f49);
}

.otv-ss-actions {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.otv-ss-readmore {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 39px;
  padding: 10px 15px;
  border-radius: 999px;
  background: linear-gradient(135deg, #2f8f5c 0%, #55ad75 100%);
  color: #ffffff !important;
  font-size: .86rem;
  line-height: 1;
  font-weight: 780;
  text-decoration: none !important;
  box-shadow: 0 10px 22px rgba(63, 159, 105, .16);
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.otv-ss-readmore .iconify {
  display: block !important;
  width: 17px !important;
  height: 17px !important;
  min-width: 17px !important;
  font-size: 17px !important;
  line-height: 1 !important;
  transition: transform .2s ease;
}

.otv-ss-readmore:hover {
  transform: translateY(-1px);
  color: #ffffff !important;
  box-shadow: 0 14px 28px rgba(63, 159, 105, .22);
}

.otv-ss-readmore:hover .iconify {
  transform: translateX(3px);
}

/* ===== dropdown ===== */

.otv-ss-dropdown {
  position: absolute;
  top: 16px;
  right: 18px;
  z-index: 8;
}

.otv-ss-more {
  width: 36px;
  height: 32px;
  padding: 0 !important;
  border-radius: 999px !important;
  border: 1px solid var(--ov-line, #dfe9df) !important;
  background: #ffffff !important;
  color: var(--ov-text-2, #34413a) !important;
  box-shadow: 0 8px 18px rgba(17, 32, 27, .06);
}

.otv-ss-dropdown-menu .dropdown-item {
  display: flex;
  align-items: center;
  gap: 8px;
}

.otv-ss-dropdown-menu .dropdown-item .iconify {
  display: block;
  width: 17px;
  height: 17px;
  min-width: 17px;
  font-size: 17px;
  color: var(--ov-green-dark, #1f6f49);
}

/* ===== responsive ===== */

@media (max-width: 1199.98px) {
  .otv-ss-layout {
    grid-template-columns: 200px minmax(0, 1fr) !important;
    gap: 18px !important;
  }

  .otv-ss-poster {
    width: 200px !important;
    height: 200px !important;
    min-width: 200px !important;
    min-height: 200px !important;
  }

  .otv-ss-fact {
    min-width: 140px;
  }
}

@media (max-width: 767.98px) {
  .otv-ss-card-final .otv-ss-body {
    padding: 18px !important;
  }

  .otv-ss-layout {
    grid-template-columns: 1fr !important;
  }

  .otv-ss-poster {
    width: 100% !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    aspect-ratio: 1 / 1 !important;
  }

  .otv-ss-image {
    width: 100% !important;
    height: 100% !important;
  }

  .otv-ss-topline {
    gap: 7px !important;
    padding-right: 40px !important;
  }

  .otv-ss-category,
  .otv-ss-status-pill {
    min-height: 34px;
    padding: 7px 10px;
    font-size: .69rem;
  }

  .otv-ss-pill-text {
    white-space: normal;
  }

  .otv-ss-title {
    font-size: 1.28rem !important;
    line-height: 1.18 !important;
  }

  .otv-ss-facts {
    display: grid;
    grid-template-columns: 1fr;
  }

  .otv-ss-fact {
    max-width: none;
  }

  .otv-ss-footer {
    flex-direction: column;
    align-items: stretch;
  }

  .otv-ss-actions {
    width: 100%;
  }

  .otv-ss-readmore {
    width: 100%;
  }
}

@media (max-width: 420px) {
  .otv-ss-category,
  .otv-ss-status-pill {
    width: 100%;
  }

  .otv-ss-topline {
    padding-right: 42px !important;
  }
}
/* FIX: fullstory admin dropdown over blocks */
.otv-fullstory,
.tv-fs-pro,
.otv-fullstory-body,
.tv-fs-pro-body {
  overflow: visible !important;
}

.otv-fullstory-dropdown,
.tv-fs-pro-dropdown {
  position: absolute !important;
  top: 18px !important;
  right: 18px !important;
  z-index: 99999 !important;
}

.otv-fullstory-dropdown .dropdown-menu,
.tv-fs-pro-dropdown .dropdown-menu {
  z-index: 100000 !important;
  position: absolute !important;
  right: 0 !important;
  left: auto !important;
}

/* все крупные блоки статьи ниже меню */
.otv-fullstory-header,
.otv-case-hero-grid,
.otv-case-poster,
.otv-case-aside,
.otv-user-details,
.otv-note-wide,
.otv-fullstory-content,
.otv-user-evidence {
  position: relative !important;
  z-index: 1 !important;
}

/* сама кнопка выше */
.otv-fullstory-dropdown .dropdown-toggle,
.tv-fs-pro-dropdown .dropdown-toggle {
  position: relative !important;
  z-index: 100001 !important;
  pointer-events: auto !important;
}
/* =========================================================
   OTZYVITO LOGIN / USER CARD FINAL
   Вставить в конец custom.css
   ========================================================= */

.tv-auth-card,
.tv-user-card,
.tv-login-card {
  position: relative;
  overflow: hidden;
  border-radius: 26px !important;
  border: 1px solid var(--ov-line, #dfe9df) !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(63,159,105,.055), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #fbfdfb 100%) !important;
  box-shadow: 0 14px 34px rgba(17,32,27,.06) !important;
}

.tv-auth-card::before,
.tv-user-card::before,
.tv-login-card::before {
  content: "";
  display: block;
  width: 100%;
  height: 5px;
  background: linear-gradient(90deg, var(--ov-green, #3f9f69) 0%, #b9dfc0 55%, var(--ov-red, #d55c5c) 100%);
}

.tv-auth-card .card-body,
.tv-user-card .card-body,
.tv-login-card .card-body {
  padding: 20px !important;
}

/* ===== user top ===== */

.tv-user-top {
  display: flex;
  align-items: center;
  gap: 14px;
}

.tv-user-avatar-wrap {
  flex: 0 0 auto;
}

.tv-user-avatar {
  width: 64px !important;
  height: 64px !important;
  display: block;
  object-fit: cover;
  border-radius: 20px;
  background: #eef5ee;
  border: 2px solid rgba(63,159,105,.22);
  box-shadow: 0 10px 24px rgba(17,32,27,.08);
}

.tv-user-meta {
  min-width: 0;
  flex: 1 1 auto;
}

.tv-user-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  margin: 0 0 7px;
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--ov-green-soft, #edf8ef);
  border: 1px solid rgba(63,159,105,.16);
  color: var(--ov-green-deep, #124f34);
  font-size: .68rem;
  line-height: 1;
  font-weight: 850;
  letter-spacing: .065em;
  text-transform: uppercase;
}

.tv-user-title {
  margin: 0 0 4px !important;
  padding: 0 !important;
  color: var(--ov-text, #17201b) !important;
  font-size: 1.12rem !important;
  line-height: 1.18 !important;
  font-weight: 850 !important;
  letter-spacing: -.025em !important;
}

.tv-user-title::before,
.tv-user-title::after {
  display: none !important;
}

.tv-user-name {
  color: var(--ov-muted, #68766e);
  font-size: .94rem;
  line-height: 1.25;
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tv-user-action-wrap {
  margin-top: 16px;
}

.tv-main-btn,
.tv-main-btn-green,
.tv-main-btn-light,
.tv-btn-block {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 7px;
  width: 100%;
  min-height: 42px;
  padding: 10px 14px !important;
  border-radius: 15px !important;
  font-size: .9rem;
  line-height: 1;
  font-weight: 800;
  text-decoration: none !important;
  border: 1px solid transparent !important;
}

.tv-main-btn-green {
  color: #ffffff !important;
  background: linear-gradient(135deg, #2f8f5c 0%, #55ad75 100%) !important;
  box-shadow: 0 10px 22px rgba(63,159,105,.16) !important;
}

.tv-main-btn-green:hover {
  color: #ffffff !important;
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(63,159,105,.22) !important;
}

.tv-main-btn-light {
  color: var(--ov-green-deep, #124f34) !important;
  background: #ffffff !important;
  border-color: var(--ov-line, #dfe9df) !important;
  box-shadow: 0 8px 18px rgba(17,32,27,.045) !important;
}

.tv-main-btn-light:hover {
  color: var(--ov-green-deep, #124f34) !important;
  background: var(--ov-green-soft, #edf8ef) !important;
  border-color: var(--ov-line-strong, #cbdccc) !important;
}

/* ===== user menu ===== */

.tv-user-menu {
  border-top: 1px solid var(--ov-line-2, #edf3ed) !important;
}

.tv-user-menu .list-group-item {
  display: flex !important;
  align-items: center !important;
  gap: 10px;
  min-height: 48px;
  padding: 13px 18px !important;
  border: 0 !important;
  border-top: 1px solid var(--ov-line-2, #edf3ed) !important;
  background: rgba(255,255,255,.68) !important;
  color: var(--ov-text-2, #34413a) !important;
  font-size: .94rem;
  line-height: 1.2;
  font-weight: 760;
  text-decoration: none !important;
}

.tv-user-menu .list-group-item:first-child {
  border-top: 0 !important;
}

.tv-user-menu .list-group-item i {
  width: 18px;
  min-width: 18px;
  text-align: center;
  color: var(--ov-green-dark, #1f6f49);
  font-size: 15px;
  line-height: 1;
}

.tv-user-menu .list-group-item:hover {
  background: var(--ov-green-soft, #edf8ef) !important;
  color: var(--ov-green-deep, #124f34) !important;
  padding-left: 22px !important;
}

.tv-user-menu .tv-logout-link {
  color: var(--ov-red-dark, #a83737) !important;
}

.tv-user-menu .tv-logout-link i {
  color: var(--ov-red-dark, #a83737);
}

.tv-user-menu .tv-logout-link:hover {
  background: var(--ov-red-soft, #fff1f1) !important;
  color: var(--ov-red-dark, #a83737) !important;
}

/* ===== login form ===== */

.tv-auth-head {
  margin-bottom: 16px;
}

.tv-login-form {
  margin: 0;
}

.tv-login-form .form-group {
  margin-bottom: 11px;
}

.tv-auth-input,
.tv-login-form .form-control {
  width: 100% !important;
  height: 46px !important;
  min-height: 46px !important;
  padding: 0 14px !important;
  border-radius: 15px !important;
  border: 1px solid var(--ov-line, #dfe9df) !important;
  background: #ffffff !important;
  color: var(--ov-text, #17201b) !important;
  font-size: .94rem !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}

.tv-auth-input:focus,
.tv-login-form .form-control:focus {
  border-color: rgba(63,159,105,.55) !important;
  box-shadow: 0 0 0 .2rem rgba(63,159,105,.14) !important;
}

.tv-login-sep {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 13px 0;
  color: var(--ov-muted, #68766e);
  font-size: .78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.tv-login-sep::before,
.tv-login-sep::after {
  content: "";
  flex: 1 1 auto;
  height: 1px;
  background: var(--ov-line-2, #edf3ed);
}

.tv-login-sep span {
  padding: 0 10px;
  color: var(--ov-muted, #68766e);
}

/* ===== social buttons ===== */

.tv-social-btns,
.social-btns {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 8px;
  list-style: none !important;
  margin: 0 0 13px !important;
  padding: 0 !important;
}

.tv-social-btns li,
.social-btns li {
  margin: 0 !important;
  padding: 0 !important;
}

.tv-social-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 40px;
  padding: 9px 12px;
  border-radius: 14px;
  color: #ffffff !important;
  font-size: .88rem;
  line-height: 1;
  font-weight: 800;
  text-decoration: none !important;
  border: 1px solid transparent;
  box-shadow: 0 8px 18px rgba(17,32,27,.07);
}

.tv-social-vk {
  background: linear-gradient(135deg, #3374b8 0%, #4b8bd0 100%);
}

.tv-social-google {
  background: linear-gradient(135deg, #d55c5c 0%, #e07b6f 100%);
}

.tv-social-btn:hover {
  color: #ffffff !important;
  transform: translateY(-1px);
  box-shadow: 0 12px 24px rgba(17,32,27,.11);
}

/* ===== checkbox ===== */

.tv-check-wrap {
  display: flex;
  align-items: center;
  min-height: 28px;
  margin-bottom: 14px !important;
}

.tv-check-label {
  color: var(--ov-muted, #68766e);
  font-size: .88rem;
  line-height: 1.3;
  font-weight: 650;
  cursor: pointer;
}

.tv-check-wrap .custom-control-input:checked ~ .custom-control-label::before {
  border-color: var(--ov-green, #3f9f69) !important;
  background-color: var(--ov-green, #3f9f69) !important;
}

.tv-check-wrap .custom-control-label::before {
  border-radius: 6px !important;
  border-color: var(--ov-line-strong, #cbdccc) !important;
}

.tv-auth-links {
  display: grid;
  gap: 10px;
  margin-top: 12px;
  padding-top: 14px;
  border-top: 1px solid var(--ov-line-2, #edf3ed);
}

.tv-text-link {
  display: inline-flex;
  justify-content: center;
  color: var(--ov-muted, #68766e) !important;
  font-size: .88rem;
  font-weight: 750;
  text-decoration: none !important;
}

.tv-text-link:hover {
  color: var(--ov-red-dark, #a83737) !important;
}

/* ===== mobile ===== */

@media (max-width: 991.98px) {
  .tv-auth-card,
  .tv-user-card,
  .tv-login-card {
    border-radius: 22px !important;
  }

  .tv-auth-card .card-body,
  .tv-user-card .card-body,
  .tv-login-card .card-body {
    padding: 18px !important;
  }

  .tv-user-menu .list-group-item {
    min-height: 46px;
    padding: 12px 16px !important;
  }
}

@media (max-width: 420px) {
  .tv-user-top {
    align-items: flex-start;
  }

  .tv-user-avatar {
    width: 56px !important;
    height: 56px !important;
    border-radius: 18px;
  }

  .tv-user-title {
    font-size: 1.02rem !important;
  }

  .tv-user-kicker {
    font-size: .62rem;
  }
}
/* =========================================================
   OTZYVITO REGISTER PAGE FINAL
   Для registration.tpl / validation.tpl
   Вставить в конец custom.css
   ========================================================= */

.tv-auth-page {
  position: relative;
  width: 100%;
  padding: 18px 0 34px;
}

.tv-auth-shell {
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
}

.tv-auth-main {
  width: 100%;
}

.tv-register-card {
  position: relative;
  overflow: hidden;
  border-radius: 30px !important;
  border: 1px solid var(--ov-line, #dfe9df) !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(213, 92, 92, .055), transparent 34%),
    radial-gradient(circle at 0% 0%, rgba(63, 159, 105, .07), transparent 32%),
    linear-gradient(180deg, #ffffff 0%, #fbfdfb 100%) !important;
  box-shadow: 0 18px 44px rgba(17, 32, 27, .075) !important;
}

.tv-register-card::before {
  content: "";
  display: block;
  width: 100%;
  height: 5px;
  background: linear-gradient(
    90deg,
    var(--ov-green, #3f9f69) 0%,
    #b9dfc0 55%,
    var(--ov-red, #d55c5c) 100%
  );
}

.tv-auth-card-body {
  padding: 28px !important;
}

/* ===== title ===== */

.tv-auth-title {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 18px !important;
  padding: 0 !important;
  color: var(--ov-text, #17201b) !important;
  font-size: clamp(1.55rem, 2.4vw, 2rem) !important;
  line-height: 1.12 !important;
  font-weight: 850 !important;
  letter-spacing: -.035em !important;
}

.tv-auth-title::before,
.tv-auth-title::after {
  display: none !important;
}

.tv-auth-title span,
.tv-auth-title i {
  width: 42px;
  height: 42px;
  min-width: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  border-radius: 16px;
  background: var(--ov-green-soft, #edf8ef);
  border: 1px solid rgba(63, 159, 105, .16);
  color: var(--ov-green-deep, #124f34);
  font-size: 19px;
  line-height: 1;
}

/* ===== alert ===== */

.tv-auth-alert {
  position: relative;
  margin: 0 0 20px;
  padding: 16px 18px 16px 20px;
  border-radius: 20px;
  background:
    radial-gradient(circle at 100% 0%, rgba(63, 159, 105, .055), transparent 36%),
    linear-gradient(180deg, #ffffff 0%, var(--ov-green-soft-2, #f5fbf6) 100%);
  border: 1px solid var(--ov-line, #dfe9df);
  color: var(--ov-text-2, #34413a);
  font-size: .96rem;
  line-height: 1.65;
  font-weight: 500;
  box-shadow: 0 8px 20px rgba(17, 32, 27, .04);
}

.tv-auth-alert::before {
  content: "";
  position: absolute;
  left: 0;
  top: 14px;
  bottom: 14px;
  width: 4px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--ov-green, #3f9f69), var(--ov-red, #d55c5c));
}

/* ===== rows / fields ===== */

.tv-form-row {
  margin: 0 0 13px;
}

.tv-input-group {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}

.tv-auth-label {
  display: block;
  margin: 0 0 7px;
  color: var(--ov-text, #17201b);
  font-size: .9rem;
  line-height: 1.25;
  font-weight: 800;
}

.tv-auth-input,
.tv-auth-textarea,
.tv-auth-file {
  width: 100% !important;
  min-height: 48px !important;
  padding: 0 15px !important;
  border-radius: 16px !important;
  border: 1px solid var(--ov-line, #dfe9df) !important;
  background: #ffffff !important;
  color: var(--ov-text, #17201b) !important;
  font-size: .96rem !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  box-shadow: none !important;
  outline: none !important;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.tv-auth-input::placeholder,
.tv-auth-textarea::placeholder {
  color: #93a099 !important;
}

.tv-auth-input:focus,
.tv-auth-textarea:focus,
.tv-auth-file:focus {
  border-color: rgba(63, 159, 105, .55) !important;
  box-shadow: 0 0 0 .22rem rgba(63, 159, 105, .14) !important;
}

.tv-auth-textarea {
  min-height: 130px !important;
  padding: 13px 15px !important;
  resize: vertical;
}

.tv-auth-file {
  display: flex;
  align-items: center;
  padding: 10px 12px !important;
  cursor: pointer;
}

/* ===== check login button ===== */

.tv-auth-check-btn {
  min-height: 48px;
  padding: 0 16px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(63, 159, 105, .16) !important;
  background: var(--ov-green-soft, #edf8ef) !important;
  color: var(--ov-green-deep, #124f34) !important;
  font-size: .88rem;
  line-height: 1;
  font-weight: 850;
  white-space: nowrap;
  box-shadow: 0 8px 18px rgba(17, 32, 27, .04) !important;
}

.tv-auth-check-btn:hover {
  transform: translateY(-1px);
  background: #ffffff !important;
  border-color: var(--ov-line-strong, #cbdccc) !important;
}

.tv-auth-result {
  margin-top: 7px;
  color: var(--ov-muted, #68766e);
  font-size: .84rem;
  line-height: 1.4;
  font-weight: 650;
}

/* ===== subcards validation ===== */

.tv-auth-subcard {
  margin: 15px 0;
  overflow: hidden;
  border-radius: 20px;
  border: 1px solid var(--ov-line, #dfe9df);
  background: #ffffff;
  box-shadow: 0 8px 20px rgba(17, 32, 27, .035);
}

.tv-auth-subcard-title {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 12px 15px;
  background: var(--ov-green-soft, #edf8ef);
  border-bottom: 1px solid var(--ov-line, #dfe9df);
  color: var(--ov-green-deep, #124f34);
  font-size: .82rem;
  line-height: 1.2;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.tv-auth-subcard-body {
  padding: 15px;
}

/* ===== xfields ===== */

.tv-auth-xfields {
  margin-top: 15px;
  overflow-x: auto;
  border-radius: 20px;
  border: 1px solid var(--ov-line, #dfe9df);
  background: #ffffff;
}

.tv-xfields-table,
.tv-auth-xfields table {
  width: 100%;
  margin: 0 !important;
  border-collapse: separate;
  border-spacing: 0;
  background: #ffffff;
}

.tv-xfields-table td,
.tv-xfields-table th,
.tv-auth-xfields table td,
.tv-auth-xfields table th {
  padding: 12px 14px !important;
  border-bottom: 1px solid var(--ov-line-2, #edf3ed) !important;
  color: var(--ov-text-2, #34413a);
  font-size: .92rem;
  vertical-align: middle;
}

.tv-auth-xfields table tr:last-child td,
.tv-auth-xfields table tr:last-child th {
  border-bottom: 0 !important;
}

.tv-auth-xfields input,
.tv-auth-xfields textarea,
.tv-auth-xfields select {
  width: 100% !important;
  min-height: 44px !important;
  border-radius: 14px !important;
  border: 1px solid var(--ov-line, #dfe9df) !important;
}

/* ===== captcha / recaptcha ===== */

.tv-auth-captcha,
.tv-auth-recaptcha {
  margin: 16px 0;
  padding: 15px;
  border-radius: 20px;
  background: var(--ov-green-soft-2, #f5fbf6);
  border: 1px solid var(--ov-line, #dfe9df);
}

.tv-auth-captcha {
  display: grid;
  gap: 10px;
}

.tv-auth-captcha img {
  max-width: 100%;
  height: auto;
  border-radius: 14px;
  border: 1px solid var(--ov-line, #dfe9df);
  background: #ffffff;
}

/* ===== submit ===== */

.tv-auth-submit-wrap {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid var(--ov-line-2, #edf3ed);
}

.tv-auth-submit-wrap .tv-main-btn {
  width: 100%;
  min-height: 50px;
  border-radius: 17px !important;
  font-size: .96rem;
  font-weight: 850;
}

.tv-auth-submit-wrap .tv-main-btn span,
.tv-auth-submit-wrap .tv-main-btn i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

/* ===== anti old style conflicts ===== */

.tv-auth-page .card,
.tv-auth-page .tv-auth-card,
.tv-auth-page .tv-register-card {
  box-shadow: 0 18px 44px rgba(17, 32, 27, .075) !important;
}

.tv-auth-page h1,
.tv-auth-page h2,
.tv-auth-page h3 {
  text-shadow: none !important;
}

/* ===== mobile ===== */

@media (max-width: 767.98px) {
  .tv-auth-page {
    padding: 12px 0 26px;
  }

  .tv-auth-shell {
    max-width: 100%;
  }

  .tv-register-card {
    border-radius: 24px !important;
  }

  .tv-auth-card-body {
    padding: 20px !important;
  }

  .tv-auth-title {
    font-size: 1.45rem !important;
  }

  .tv-auth-title span,
  .tv-auth-title i {
    width: 38px;
    height: 38px;
    min-width: 38px;
    border-radius: 14px;
    font-size: 17px;
  }

  .tv-input-group {
    grid-template-columns: 1fr;
  }

  .tv-auth-check-btn {
    width: 100%;
  }

  .tv-auth-alert {
    padding: 15px 15px 15px 18px;
    font-size: .92rem;
  }

  .tv-auth-submit-wrap .tv-main-btn {
    min-height: 48px;
  }
}

@media (max-width: 420px) {
  .tv-auth-card-body {
    padding: 17px !important;
  }

  .tv-auth-title {
    font-size: 1.32rem !important;
  }

  .tv-auth-input,
  .tv-auth-textarea,
  .tv-auth-file {
    font-size: .92rem !important;
  }
}
/* =========================================================
   OTZYVITO PRIVATE MESSAGES PAGE FINAL
   Для pm.tpl / личные сообщения
   Вставить в конец custom.css
   ========================================================= */

.tv-pm-page {
  position: relative;
}

.tv-pm-card {
  position: relative;
  overflow: hidden;
  border-radius: 30px !important;
  border: 1px solid var(--ov-line, #dfe9df) !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(63,159,105,.055), transparent 34%),
    radial-gradient(circle at 0% 0%, rgba(213,92,92,.045), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #fbfdfb 100%) !important;
  box-shadow: 0 18px 44px rgba(17,32,27,.075) !important;
}

.tv-pm-card::before {
  content: "";
  display: block;
  width: 100%;
  height: 5px;
  background: linear-gradient(90deg, var(--ov-green, #3f9f69) 0%, #b9dfc0 55%, var(--ov-red, #d55c5c) 100%);
}

.tv-pm-card > .card-body {
  padding: 24px !important;
}

/* ===== sidebar ===== */

.tv-pm-sidebar {
  top: 92px;
}

.tv-pm-nav-card {
  overflow: hidden;
  border-radius: 24px !important;
  border: 1px solid var(--ov-line, #dfe9df) !important;
  background: #ffffff !important;
  box-shadow: 0 10px 26px rgba(17,32,27,.055) !important;
}

.tv-pm-nav-card .card-header {
  padding: 16px 18px !important;
  border-bottom: 1px solid var(--ov-line-2, #edf3ed) !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(63,159,105,.08), transparent 36%),
    linear-gradient(180deg, #ffffff 0%, var(--ov-green-soft-2, #f5fbf6) 100%) !important;
  color: var(--ov-text, #17201b);
  font-size: 1.05rem;
  line-height: 1.2;
  font-weight: 850;
  letter-spacing: -.02em;
}

.tv-pm-nav-card .card-header::before {
  content: "";
  display: inline-block;
  width: 9px;
  height: 9px;
  margin-right: 9px;
  border-radius: 999px;
  background: var(--ov-red, #d55c5c);
  box-shadow: 0 0 0 5px rgba(213,92,92,.09);
  vertical-align: middle;
}

.tv-pm-nav-card .card-body {
  padding: 12px !important;
}

.tv-pm-nav {
  display: grid;
  gap: 8px;
}

.tv-pm-nav-item,
.tv-pm-nav a {
  display: flex !important;
  align-items: center;
  gap: 9px;
  min-height: 43px;
  padding: 11px 13px;
  border-radius: 15px;
  border: 1px solid var(--ov-line, #dfe9df);
  background: #ffffff;
  color: var(--ov-text-2, #34413a) !important;
  font-size: .92rem;
  line-height: 1.2;
  font-weight: 760;
  text-decoration: none !important;
  box-shadow: 0 4px 12px rgba(17,32,27,.028);
  cursor: pointer;
}

.tv-pm-nav-item i,
.tv-pm-nav a i {
  width: 18px;
  min-width: 18px;
  text-align: center;
  color: var(--ov-green-dark, #1f6f49);
  font-size: 15px;
}

.tv-pm-nav-item:hover,
.tv-pm-nav a:hover {
  transform: translateY(-1px);
  background: var(--ov-green-soft, #edf8ef);
  border-color: rgba(63,159,105,.18);
  color: var(--ov-green-deep, #124f34) !important;
}

.tv-pm-limit {
  margin: 16px 0 0;
  color: var(--ov-muted, #68766e) !important;
  font-size: .88rem;
  font-weight: 760;
}

.tv-pm-sidebar .progress {
  height: 12px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--ov-line-2, #edf3ed);
  box-shadow: inset 0 1px 2px rgba(17,32,27,.05);
}

.tv-pm-sidebar .progress-bar {
  border-radius: 999px;
  background: linear-gradient(90deg, var(--ov-green, #3f9f69) 0%, #69ba83 65%, var(--ov-red, #d55c5c) 100%) !important;
}

/* ===== message list ===== */

.tv-pm-list,
.pmlist {
  overflow: hidden;
  border-radius: 24px;
  border: 1px solid var(--ov-line, #dfe9df);
  background: #ffffff;
  box-shadow: 0 10px 26px rgba(17,32,27,.045);
}

.tv-pm-list table,
.pmlist table {
  width: 100%;
  margin: 0 !important;
  border-collapse: separate;
  border-spacing: 0;
}

.tv-pm-list table th,
.pmlist table th {
  padding: 14px 15px !important;
  border-bottom: 1px solid var(--ov-line-2, #edf3ed) !important;
  background: var(--ov-green-soft, #edf8ef) !important;
  color: var(--ov-green-deep, #124f34) !important;
  font-size: .82rem;
  line-height: 1.2;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .035em;
}

.tv-pm-list table td,
.pmlist table td {
  padding: 13px 15px !important;
  border-bottom: 1px solid var(--ov-line-2, #edf3ed) !important;
  color: var(--ov-text-2, #34413a);
  font-size: .92rem;
  line-height: 1.45;
  vertical-align: middle;
}

.tv-pm-list table tr:last-child td,
.pmlist table tr:last-child td {
  border-bottom: 0 !important;
}

.tv-pm-list table tr:hover td,
.pmlist table tr:hover td {
  background: var(--ov-green-soft-2, #f5fbf6);
}

.tv-pm-list a,
.pmlist a {
  color: var(--ov-green-dark, #1f6f49);
  font-weight: 760;
  text-decoration: none !important;
}

.tv-pm-list a:hover,
.pmlist a:hover {
  color: var(--ov-red-dark, #a83737);
}

/* ===== compose message ===== */

.tv-pm-title {
  display: flex;
  align-items: center;
  margin: 0 0 16px !important;
  padding: 0 !important;
  color: var(--ov-text, #17201b) !important;
  font-size: 1.45rem !important;
  line-height: 1.16 !important;
  font-weight: 850 !important;
  letter-spacing: -.03em !important;
}

.tv-pm-title::before {
  content: "";
  width: 10px;
  height: 10px;
  min-width: 10px;
  margin-right: 10px;
  border-radius: 999px;
  background: var(--ov-red, #d55c5c);
  box-shadow: 0 0 0 6px rgba(213,92,92,.09);
}

.tv-pm-title::after {
  display: none !important;
}

.tv-pm-page .form-control,
.tv-pm-page input[type="text"],
.tv-pm-page textarea {
  width: 100% !important;
  min-height: 48px !important;
  padding: 0 15px !important;
  border-radius: 16px !important;
  border: 1px solid var(--ov-line, #dfe9df) !important;
  background: #ffffff !important;
  color: var(--ov-text, #17201b) !important;
  font-size: .95rem !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}

.tv-pm-page textarea,
.tv-pm-page .bb-editor textarea {
  min-height: 190px !important;
  padding: 13px 15px !important;
  line-height: 1.55 !important;
}

.tv-pm-page .form-control:focus,
.tv-pm-page input[type="text"]:focus,
.tv-pm-page textarea:focus {
  border-color: rgba(63,159,105,.55) !important;
  box-shadow: 0 0 0 .22rem rgba(63,159,105,.14) !important;
}

.tv-pm-page label {
  color: var(--ov-text, #17201b);
  font-size: .9rem;
  font-weight: 760;
}

.tv-pm-page .custom-control-label {
  color: var(--ov-muted, #68766e);
  font-size: .9rem;
  line-height: 1.35;
  font-weight: 650;
}

.tv-pm-page .custom-control-input:checked ~ .custom-control-label::before {
  border-color: var(--ov-green, #3f9f69) !important;
  background-color: var(--ov-green, #3f9f69) !important;
}

.tv-pm-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.tv-pm-actions .btn {
  min-height: 42px;
  padding: 10px 16px !important;
  border-radius: 15px !important;
  font-size: .9rem;
  font-weight: 800;
}

.tv-pm-actions .btn-outline-primary {
  color: #ffffff !important;
  border-color: rgba(63,159,105,.14) !important;
  background: linear-gradient(135deg, #2f8f5c 0%, #55ad75 100%) !important;
  box-shadow: 0 10px 22px rgba(63,159,105,.14) !important;
}

.tv-pm-actions .btn-outline-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(63,159,105,.2) !important;
}

.tv-pm-actions .btn-outline-secondary {
  color: var(--ov-text-2, #34413a) !important;
  border-color: var(--ov-line, #dfe9df) !important;
  background: #ffffff !important;
}

.tv-pm-actions .btn-outline-secondary:hover {
  color: var(--ov-green-deep, #124f34) !important;
  background: var(--ov-green-soft, #edf8ef) !important;
}

/* ===== captcha ===== */

.tv-pm-page .c-capcha {
  display: grid;
  gap: 10px;
  padding: 15px;
  border-radius: 18px;
  background: var(--ov-green-soft-2, #f5fbf6);
  border: 1px solid var(--ov-line, #dfe9df);
}

.tv-pm-page .c-capcha img {
  max-width: 100%;
  height: auto;
  border-radius: 14px;
  border: 1px solid var(--ov-line, #dfe9df);
  background: #ffffff;
}

/* ===== read message ===== */

.tv-pm-read-card {
  overflow: visible;
  border-radius: 24px !important;
  border: 1px solid var(--ov-line, #dfe9df) !important;
  background: #ffffff !important;
  box-shadow: 0 12px 30px rgba(17,32,27,.055) !important;
}

.tv-pm-read-card .card-header {
  position: relative;
  padding: 15px 16px !important;
  border-bottom: 1px solid var(--ov-line-2, #edf3ed) !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(63,159,105,.065), transparent 36%),
    linear-gradient(180deg, #ffffff 0%, var(--ov-green-soft-2, #f5fbf6) 100%) !important;
  border-radius: 24px 24px 0 0 !important;
}

.tv-pm-read-card .card-header .dropdown {
  position: relative;
  z-index: 10;
}

.tv-pm-read-card .dropdown-toggle {
  width: 36px;
  height: 32px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
  border-radius: 999px !important;
  border: 1px solid var(--ov-line, #dfe9df) !important;
  background: #ffffff !important;
  box-shadow: 0 8px 18px rgba(17,32,27,.06) !important;
}

.tv-pm-read-card .dropdown-toggle::after {
  display: none !important;
}

.tv-pm-read-card .dropdown-menu {
  z-index: 99999;
  min-width: 180px;
  padding: 8px;
  border-radius: 16px;
  border: 1px solid var(--ov-line, #dfe9df);
  box-shadow: 0 16px 36px rgba(17,32,27,.14);
}

.tv-pm-read-card .dropdown-item {
  min-height: 36px;
  padding: 8px 10px;
  border-radius: 11px;
  color: var(--ov-text-2, #34413a);
  font-size: .88rem;
  font-weight: 720;
}

.tv-pm-read-card .dropdown-item:hover {
  background: var(--ov-green-soft, #edf8ef);
  color: var(--ov-green-deep, #124f34);
}

.tv-pm-read-card .list-inline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding-right: 46px;
}

.tv-pm-read-card .list-inline-item {
  display: inline-flex !important;
  align-items: center;
  min-height: 32px;
  margin: 0 !important;
  padding: 6px 10px;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid var(--ov-line, #dfe9df);
  color: var(--ov-muted, #68766e);
  font-size: .82rem;
  line-height: 1;
  font-weight: 720;
}

.tv-pm-read-card .list-inline-item.auth {
  color: var(--ov-green-deep, #124f34);
  font-weight: 820;
}

.tv-pm-read-card .commfoto {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px;
  margin: -7px 0;
  object-fit: cover;
  border-radius: 999px;
  border: 2px solid rgba(63,159,105,.18);
  background: #eef5ee;
}

.tv-pm-read-card .card-body {
  padding: 18px !important;
}

.tv-pm-read-card .card-title {
  margin: 0 0 13px !important;
  padding: 0 !important;
  color: var(--ov-text, #17201b) !important;
  font-size: 1.25rem !important;
  line-height: 1.22 !important;
  font-weight: 850 !important;
  letter-spacing: -.025em !important;
}

.tv-pm-read-card .card-title::before,
.tv-pm-read-card .card-title::after {
  display: none !important;
}

.tv-pm-read-card .card-text {
  margin: 0;
  color: var(--ov-text-2, #34413a);
  font-size: .98rem;
  line-height: 1.72;
  font-weight: 500;
  white-space: pre-line;
}

.tv-pm-read-card hr {
  margin: 17px 0;
  border-top: 1px solid var(--ov-line-2, #edf3ed);
}

.tv-pm-reply-btn {
  min-height: 38px;
  margin-top: 14px;
  padding: 9px 13px !important;
  border-radius: 14px !important;
  color: var(--ov-green-deep, #124f34) !important;
  border-color: var(--ov-line, #dfe9df) !important;
  background: var(--ov-green-soft, #edf8ef) !important;
  font-weight: 800;
}

.tv-pm-reply-btn:hover {
  transform: translateY(-1px);
  background: #ffffff !important;
}

/* ===== editor cleanup inside pm ===== */

.tv-pm-page .bb-editor,
.tv-pm-page .wysibb,
.tv-pm-page .tox,
.tv-pm-page .fr-box {
  border-radius: 18px !important;
  overflow: hidden;
  border-color: var(--ov-line, #dfe9df) !important;
}

.tv-pm-page .bb-pane,
.tv-pm-page .bb-toolbar,
.tv-pm-page .wysibb-toolbar,
.tv-pm-page .tox-toolbar,
.tv-pm-page .fr-toolbar {
  background: var(--ov-green-soft-2, #f5fbf6) !important;
  border-color: var(--ov-line, #dfe9df) !important;
}

/* ===== mobile ===== */

@media (max-width: 991.98px) {
  .tv-pm-card > .card-body {
    padding: 18px !important;
  }

  .tv-pm-sidebar {
    position: static !important;
    top: auto;
    margin-bottom: 18px;
  }

  .tv-pm-nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .tv-pm-nav-item,
  .tv-pm-nav a {
    justify-content: center;
    text-align: center;
    padding: 10px;
  }
}

@media (max-width: 767.98px) {
  .tv-pm-card {
    border-radius: 24px !important;
  }

  .tv-pm-nav {
    grid-template-columns: 1fr;
  }

  .tv-pm-list,
  .pmlist {
    overflow-x: auto;
  }

  .tv-pm-list table,
  .pmlist table {
    min-width: 620px;
  }

  .tv-pm-title {
    font-size: 1.28rem !important;
  }

  .tv-pm-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .tv-pm-read-card .list-inline {
    padding-right: 0;
  }

  .tv-pm-read-card .dropdown {
    margin-bottom: 10px;
  }
}

@media (max-width: 420px) {
  .tv-pm-card > .card-body {
    padding: 15px !important;
  }

  .tv-pm-read-card .card-body {
    padding: 15px !important;
  }
}
/* PM read dialog fix */
.tv-pm-dialog {
  margin-top: 6px;
}

.tv-pm-dialog-head {
  margin-bottom: 18px;
  padding: 18px 20px;
  border-radius: 24px;
  background: #ffffff;
  border: 1px solid var(--ov-line, #dfe9df);
  box-shadow: 0 10px 26px rgba(17,32,27,.045);
}

.tv-pm-dialog-kicker {
  display: inline-flex;
  margin-bottom: 8px;
  padding: 7px 11px;
  border-radius: 999px;
  background: var(--ov-green-soft, #edf8ef);
  color: var(--ov-green-deep, #124f34);
  font-size: .7rem;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.tv-pm-dialog-head h2 {
  margin: 0 0 6px !important;
  padding: 0 !important;
  color: var(--ov-text, #17201b) !important;
  font-size: 1.45rem !important;
  line-height: 1.18 !important;
  font-weight: 850 !important;
  letter-spacing: -.03em !important;
}

.tv-pm-dialog-head h2::before,
.tv-pm-dialog-head h2::after {
  display: none !important;
}

.tv-pm-dialog-head p {
  margin: 0;
  color: var(--ov-muted, #68766e);
  font-size: .92rem;
  line-height: 1.5;
}

.tv-pm-messages {
  display: grid;
  gap: 14px;
}

.tv-pm-message {
  overflow: hidden;
  border-radius: 24px;
  background: #ffffff;
  border: 1px solid var(--ov-line, #dfe9df);
  box-shadow: 0 12px 30px rgba(17,32,27,.055);
}

.tv-pm-message-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 15px 16px;
  border-bottom: 1px solid var(--ov-line-2, #edf3ed);
  background: linear-gradient(180deg, #ffffff 0%, var(--ov-green-soft-2, #f5fbf6) 100%);
}

.tv-pm-message-user {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.tv-pm-message-avatar {
  position: relative;
  width: 44px;
  height: 44px;
  min-width: 44px;
}

.tv-pm-message-avatar .cover {
  display: block;
  width: 44px;
  height: 44px;
  overflow: hidden;
  border-radius: 999px;
  background-size: cover;
  background-position: center;
  background-color: #eef5ee;
  border: 2px solid rgba(63,159,105,.18);
  text-indent: -9999px;
}

.tv-pm-online {
  position: absolute;
  right: 1px;
  bottom: 1px;
  width: 11px;
  height: 11px;
  border-radius: 999px;
  background: #3f9f69;
  border: 2px solid #ffffff;
}

.tv-pm-message-meta {
  min-width: 0;
}

.tv-pm-message-author {
  color: var(--ov-text, #17201b);
  font-size: .96rem;
  font-weight: 850;
  line-height: 1.2;
}

.tv-pm-message-date {
  margin-top: 3px;
  color: var(--ov-muted, #68766e);
  font-size: .82rem;
  font-weight: 650;
}

.tv-pm-message-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 7px;
}

.tv-pm-action {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  padding: 7px 9px;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid var(--ov-line, #dfe9df);
  color: var(--ov-green-deep, #124f34);
  font-size: .75rem;
  line-height: 1;
  font-weight: 760;
  cursor: pointer;
}

.tv-pm-action:hover {
  background: var(--ov-green-soft, #edf8ef);
}

.tv-pm-action-danger {
  color: var(--ov-red-dark, #a83737);
  border-color: rgba(213,92,92,.16);
  background: var(--ov-red-soft, #fff1f1);
}

.tv-pm-action-warning {
  color: var(--ov-red-dark, #a83737);
}

.tv-pm-message-body {
  padding: 18px;
}

.tv-pm-message-text {
  color: var(--ov-text-2, #34413a);
  font-size: .98rem;
  line-height: 1.72;
  font-weight: 500;
  white-space: pre-line;
}

.tv-pm-signature {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--ov-line-2, #edf3ed);
  color: var(--ov-muted, #68766e);
  font-size: .9rem;
  line-height: 1.55;
}

.tv-pm-reply-box {
  margin-top: 18px;
  padding: 18px;
  border-radius: 24px;
  background: #ffffff;
  border: 1px solid var(--ov-line, #dfe9df);
  box-shadow: 0 10px 26px rgba(17,32,27,.045);
}

.tv-pm-reply-box h3 {
  margin: 0 0 14px !important;
  padding: 0 !important;
  color: var(--ov-text, #17201b) !important;
  font-size: 1.22rem !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
}

.tv-pm-reply-box h3::before,
.tv-pm-reply-box h3::after {
  display: none !important;
}

@media (max-width: 767.98px) {
  .tv-pm-message-head {
    display: block;
  }

  .tv-pm-message-actions {
    justify-content: flex-start;
    margin-top: 12px;
  }

  .tv-pm-action span {
    display: none;
  }
}
/* PM read page: no sidebar, clean full dialog */
.tv-pm-dialog-full {
  width: 100%;
  max-width: 100%;
  margin: 0;
}

.tv-pm-dialog-toolbar {
  display: flex;
  align-items: center;
  margin: 0 0 16px;
}

.tv-pm-back-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 10px 14px;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid var(--ov-line, #dfe9df);
  color: var(--ov-green-deep, #124f34) !important;
  font-size: .9rem;
  line-height: 1;
  font-weight: 800;
  text-decoration: none !important;
  box-shadow: 0 8px 18px rgba(17,32,27,.045);
}

.tv-pm-back-btn:hover {
  background: var(--ov-green-soft, #edf8ef);
  transform: translateY(-1px);
}

.tv-pm-back-btn i {
  font-size: 15px;
  line-height: 1;
}

.tv-pm-dialog-full .tv-pm-dialog-head {
  margin-bottom: 14px;
}

.tv-pm-dialog-full .tv-pm-message {
  border-radius: 24px;
}

.tv-pm-dialog-full .tv-pm-reply-box {
  margin-top: 18px;
}

/* убираем пустоту от старой сетки, если где-то осталась */
.tv-pm-page [readpm] .row,
.tv-pm-dialog-full .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

@media (max-width: 767.98px) {
  .tv-pm-back-btn {
    width: 100%;
    justify-content: center;
  }
}
/* PM dialog global actions */
.tv-pm-dialog-head-flex {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.tv-pm-dialog-head-text {
  min-width: 0;
}

.tv-pm-dialog-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  flex-shrink: 0;
}

.tv-pm-dialog-action,
.tv-pm-dialog-action-placeholder {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 38px;
  padding: 9px 12px;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid var(--ov-line, #dfe9df);
  color: var(--ov-green-deep, #124f34);
  font-size: .82rem;
  line-height: 1;
  font-weight: 800;
  cursor: pointer;
  text-decoration: none !important;
  box-shadow: 0 8px 18px rgba(17,32,27,.045);
}

.tv-pm-dialog-action:hover {
  transform: translateY(-1px);
}

.tv-pm-dialog-action-warning {
  color: var(--ov-red-dark, #a83737);
  background: var(--ov-red-soft, #fff1f1);
  border-color: rgba(213,92,92,.16);
}

.tv-pm-dialog-action-danger {
  color: #ffffff;
  background: linear-gradient(135deg, #c94d4d 0%, #d96a5f 100%);
  border-color: rgba(201,77,77,.22);
}

.tv-pm-dialog-action-danger:hover {
  color: #ffffff;
}

.tv-pm-dialog-action i {
  font-size: 14px;
  line-height: 1;
}

.tv-pm-hidden-dialog-actions {
  display: none !important;
}

@media (max-width: 767.98px) {
  .tv-pm-dialog-head-flex {
    display: block;
  }

  .tv-pm-dialog-actions {
    justify-content: flex-start;
    margin-top: 14px;
  }

  .tv-pm-dialog-action,
  .tv-pm-dialog-action-placeholder {
    width: 100%;
  }
}
/* =========================================================
   OTZYVITO BURGER HARD FIX
   Меню закрыто = реально скрыто, открыто = видно
   Вставить в самый конец custom.css
   ========================================================= */

/* Десктоп XL: меню всегда видно */
@media (min-width: 1200px) {
  .ov2026-header .navbar-collapse,
  .ov2026-header .ov2026-collapse {
    display: flex !important;
    height: auto !important;
    visibility: visible !important;
    overflow: visible !important;
    opacity: 1 !important;
  }
}

/* Мобилка/планшет до XL */
@media (max-width: 1199.98px) {

  /* закрытое меню */
  .ov2026-header .navbar-collapse.collapse:not(.show):not(.collapsing),
  .ov2026-header .ov2026-collapse.collapse:not(.show):not(.collapsing),
  .ov2026-header #navbarResponsive.collapse:not(.show):not(.collapsing) {
    display: none !important;
    height: 0 !important;
    max-height: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }

  /* открытое меню */
  .ov2026-header .navbar-collapse.collapse.show,
  .ov2026-header .ov2026-collapse.collapse.show,
  .ov2026-header #navbarResponsive.collapse.show {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    padding-top: 12px !important;
    overflow: visible !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* момент анимации Bootstrap */
  .ov2026-header .navbar-collapse.collapsing,
  .ov2026-header .ov2026-collapse.collapsing,
  .ov2026-header #navbarResponsive.collapsing {
    display: block !important;
    width: 100% !important;
    height: 0;
    overflow: hidden !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .ov2026-header .ov2026-menu {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
  }

  .ov2026-header .ov2026-actions {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    margin: 0 !important;
  }
}

@media (max-width: 575.98px) {
  .ov2026-header .ov2026-menu,
  .ov2026-header .ov2026-actions {
    grid-template-columns: 1fr !important;
  }
}