/* HentaiVibe homepage title; scoped to the new header and its adjacent feed. */
.hv-home-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px 32px;
  margin: 0 var(--indent);
  padding: 30px 0 24px;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
}
.hv-home-heading__copy { min-width: 0; }
.hv-home-heading__title {
  margin: 0;
  padding: 0;
  color: #f5f5f5;
  font-size: clamp(32px, 3vw, 46px);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -.04em;
}
.hv-home-heading__title span { color: var(--accent); }
.hv-home-heading__intro {
  margin: 10px 0 0;
  color: #b8bbbc;
  font-size: 14px;
  line-height: 1.5;
}
.hv-home-heading__links {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}
.hv-home-heading__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  min-height: 44px;
  padding: 0 18px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 999px;
  background: rgba(255, 255, 255, .04);
  color: #f5f5f5;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  white-space: nowrap;
  transition: background-color .15s, border-color .15s;
}
.hv-home-heading__link span { font-size: 17px; line-height: 1; }
.hv-home-heading__link:hover {
  background: rgba(255, 255, 255, .09);
  border-color: rgba(255, 255, 255, .35);
  color: #fff;
}
.hv-home-heading__link--primary {
  background: var(--accent);
  border-color: var(--accent);
  color: #202323;
}
.hv-home-heading__link--primary:hover {
  background: var(--accent-darker);
  border-color: var(--accent-darker);
  color: #202323;
}
.hv-home-heading + .col-main__cols > .col-main__right { padding-top: 24px; }
.hv-home-heading + .col-main__cols .sect__header { margin-bottom: 18px; }
.hv-home-heading + .col-main__cols .sect__title {
  padding-bottom: 0;
  font-size: 20px;
  line-height: 1.4;
}
@media (max-width: 760px) {
  .hv-home-heading { gap: 18px; padding: 28px 0 22px; }
  .hv-home-heading__title { font-size: clamp(30px, 7.5vw, 40px); }
  .hv-home-heading__links { width: 100%; }
  .hv-home-heading__link { padding: 0 16px; }
  .hv-home-heading + .col-main__cols > .col-main__right { padding-top: 22px; }
}

/* Header search: contained focus indicator and persistent placeholder. */
.header .header__search input {
  border-radius: 999px;
  border-color: rgba(255, 255, 255, .12);
  transition: border-color .15s, box-shadow .15s;
}
.header .header__search input::placeholder,
.header .header__search input:focus::placeholder {
  color: #b8bbbc;
  opacity: 1;
  font-size: 14px;
}
.header .header__search input:focus {
  border-color: #fed223;
  box-shadow: 0 0 0 2px rgba(254, 210, 35, .12);
  outline: none;
  outline-offset: 0;
}
.header .header__search button:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

/* Prevent the generic button hover color from hiding the navigation icon. */
.header button.header__burger { color: #b8bbbc; }
.header button.header__burger:hover,
.header button.header__burger:focus-visible { color: var(--accent); }

/* Shared product rhythm. Existing DLE markup and player remain in place. */
:root {
 --bg:#1d2026; --bg-dark:#181b20; --bg-darkest:#111316;
 --tt:#f2f3f5; --tt-2:#b4bac4; --tt-3:#b4bac4; --tt-dark:#b4bac4;
 --bdc:#343943; --ui-bg:#252a32; --ui-bg-darker:#181b20;
 --ui-bg-darkest:#111316; --ui-bg-accent:#252a32; --ui-bdc:#424955;
 --bg-btn-dark:#252a32; --bsh-btn-dark:none;
 --hv-border:rgba(255,255,255,.09); --indent:32px; --indent-negative:-32px;
}
body,.wrapper {background:#111316;color:var(--tt);}
.header {background:#15181d;border-bottom:1px solid var(--hv-border);}
.header:before {background:#181b20;}
.header:after,.header__line {background:var(--hv-border);}
.col-side {background:#181b20;border-color:var(--hv-border);padding:20px 18px;}
.col-side:after {display:none;}
.header button.header__burger {width:44px;height:44px;min-width:44px;border-radius:10px;font-size:22px;margin-left:0;margin-right:16px;}
.header button.header__burger:hover {background:#252a32;}
.header__btn {border:1px solid var(--hv-border);border-radius:10px;min-height:44px;text-transform:none;font-size:13px;font-weight:700;}
.header__btn:hover {background:#343b46;color:#fff;}
.header .header__search {width:440px;}
.header .header__search input,.header .header__search input:focus {height:48px;line-height:48px;background:#232830;padding-right:60px;}
.header .header__search button {width:40px;height:40px;top:4px;right:4px;font-size:16px;}
.header .header__search button::before {content:"";position:absolute;inset:-2px;border-radius:50%;}
.side-block__menu li {margin-left:0;height:48px;margin-bottom:6px;}
.side-block__menu > li > a {padding:14px 12px 14px 52px;border-radius:10px;color:#c4cad3;line-height:20px;}
.side-block__menu li [class*="fa-"] {left:10px;top:8px;width:32px;height:32px;line-height:32px;font-size:15px;background:transparent;color:#9099a7;}
.side-block__menu li.menu-active > a {background:rgba(254,210,35,.10);color:#fed223;font-weight:700;}
.side-block__menu li.menu-active [class*="fa-"] {background:transparent;color:#fed223;}
.side-block__menu > li > a:hover {background:#252a32;color:#fff;}
.menu2 {border-color:var(--hv-border);padding-top:22px;}
.hv-nav-label {font-size:11px;line-height:1.4;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#939dab;padding:0 12px;margin-bottom:12px;}
.menu2 .side-block__menu > li > a {padding:10px 38px 10px 12px;font-size:13px;}
.menu2 li span {top:12px;right:12px;font-size:11px;color:#919baa;}
.content--sidebar-hid .hv-nav-label {display:none;}
.content--sidebar-hid .side-block__menu > li > a {height:48px;padding:14px 0;}
.col-main {padding-top:80px;min-width:0;}
.col-main__right,.sect--padding,.page-padding {padding-top:32px;}
.hv-home-heading {padding-top:36px;padding-bottom:28px;border-color:var(--hv-border);}
.hv-home-heading__intro {color:var(--tt-2);}
.hv-home-heading__title {font-size:clamp(34px,3vw,48px);}
.sect__title {font-size:22px;line-height:1.35;letter-spacing:-.025em;padding-bottom:0;}
h1.sect__title,.search-page__title {font-size:clamp(28px,2.5vw,38px);line-height:1.2;letter-spacing:-.035em;margin-bottom:24px;}
.sect__header {margin-bottom:22px;}
.sect__header h1 {margin-bottom:0;}
.sect:not(:last-child) {margin-bottom:36px;}
#dle-content,.d-grid,.d-grid-models,.d-grid-models #dle-content {grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px 20px;grid-auto-flow:row;}
.poster {min-width:0;background:#1d2026;border:1px solid var(--hv-border);border-radius:12px;overflow:hidden;transition:border-color .18s,box-shadow .18s;}
.poster:hover {border-color:rgba(254,210,35,.45);box-shadow:0 6px 22px rgba(0,0,0,.2);}
.poster__img {border-radius:0;aspect-ratio:16/9;padding-top:0!important;}
.poster__img img {transition:transform .25s;}
@media (hover:hover) {.poster:hover .poster__img img {transform:scale(1.025);}}
.poster__label {background:rgba(9,12,17,.82);color:#e8ecf2!important;padding:4px 7px;font-size:11px;border-radius:6px;}
.poster__desc,.pmovie__related .poster__desc {padding:14px 15px 16px;}
.poster__title,.poster .poster__title {font-size:14px;line-height:1.55;font-weight:700;min-height:3.1em;height:auto;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;letter-spacing:-.01em;color:var(--tt);}
.poster:hover .poster__title {color:#fed223;}
.pagination__pages {padding-top:24px;gap:8px;}
.pagination__pages > a,.pagination__pages > span,.pagination__pages-btn > a,.pagination__pages-btn > span {min-width:44px;min-height:44px;line-height:42px;border-radius:10px;border-color:var(--hv-border);}
.pagination__pages > span:not(.nav_ext) {background:#fed223;color:#15181d;border-color:#fed223;font-weight:700;}
.desc {color:var(--tt-2);line-height:1.85;font-size:14px;}
.category-description,.tag-description {padding:28px 0 0;margin-top:28px;border-top:1px solid var(--hv-border);}
.tag-description {padding:0 0 24px;margin:0 0 24px;border-top:0;border-bottom:1px solid var(--hv-border);}
.sect--tags {align-items:center;flex-wrap:wrap;}
.sect--tags a {min-height:38px;border-radius:999px;padding:0 14px;background:#1d2026;border-color:var(--hv-border);color:#c4cad3;}
.footer {border-color:var(--hv-border);font-size:12px;gap:24px;padding-top:28px;padding-bottom:28px;}
.footer__btn {border-radius:10px;text-transform:none;font-size:13px;min-height:44px;border:1px solid var(--hv-border);}
.footer .soc-channels {line-height:2.2;}
/* Search is a result state, with its native form and pagination intact. */
.search-page {padding-bottom:24px;}
.search-page > p {color:var(--tt-2);font-size:14px;line-height:1.7;margin:-12px 0 24px;}
.search-page > p a {color:#fed223;}
.search-page .search > div {background:#1d2026;border:1px solid var(--hv-border);padding:16px;gap:12px;border-radius:12px;align-items:center;}
.search-page .search #searchinput {height:48px;border-radius:8px;margin-right:0;background:#111316;border:1px solid #424955;box-shadow:none;}
.search-page .search #searchinput:focus {border-color:#fed223;}
.search-page .search button {min-height:48px;border-radius:8px;font-weight:700;text-transform:none;font-size:13px;padding:0 20px;}
.hv-search-summary {margin-top:20px;padding:18px 0 0;border-top:1px solid var(--hv-border);color:var(--tt-2);font-size:14px;line-height:1.6;}
/* Viewing hierarchy gives the player the available width. */
.page__cols {grid-template-columns:minmax(0,1fr);gap:32px;}
.page__col-left,.page__col-right {min-width:0;}
.page__subcol-header h1 {font-size:clamp(24px,2vw,32px);line-height:1.35;letter-spacing:-.03em;}
.hv-watch-nav {margin-bottom:18px;}
.hv-watch__back {gap:10px;min-height:38px;margin:0;color:#b4bac4;font-size:13px;text-decoration:none;}
.hv-watch__back:hover {color:#fed223;}
.hv-watch__screen {border-radius:12px;overflow:hidden;border:1px solid var(--hv-border);}
.hv-watch {margin-bottom:18px;}
.pmovie__player-bottom-2 {background:#1d2026;border:1px solid var(--hv-border);border-radius:12px;padding:12px;gap:12px;flex-wrap:wrap;}
.pmovie__fav a {height:44px;border-radius:8px;margin-right:0;padding:0 14px;letter-spacing:0;text-transform:none;font-size:13px;color:#e1e5ec;background:#292f38;}
.page__meta-item {color:#b4bac4;}
.page__subcols.mb40 {margin-bottom:24px;}
.pmovie__header-list {line-height:2;}
.pmovie__header-list li a {display:inline-block;line-height:1.5;padding:6px 12px;margin:3px 4px 3px 0;background:#20262e;color:#dce2eb;border:1px solid var(--hv-border);border-radius:999px;font-size:12px;}
.pmovie__header-list li a:hover {border-color:#fed223;color:#fed223;}
.hv-video-duration {color:#b4bac4;font-size:13px;}
.page__text {font-size:15px;line-height:1.85;color:#c4cad3;}
.page__col-right .sect__title,.pmovie__related .sect__title {font-size:20px;}
.page__col-right .d-grid {grid-template-columns:repeat(auto-fill,minmax(260px,1fr));}
.page__comments {border-top:1px solid var(--hv-border);padding-top:28px;margin-top:28px;}
.page__comments-title {font-size:20px;font-weight:700;letter-spacing:-.02em;}
.page__comments-info {font-size:13px;color:var(--tt-2);}
#scrolltop {width:44px;height:44px;line-height:44px;font-size:20px;border:1px solid var(--hv-border);}
:where(a,button,input,select,textarea,[tabindex]):focus-visible {outline:2px solid #fed223;outline-offset:3px;}
@media (min-width:1440px) {.page__cols {grid-template-columns:minmax(0,1fr) 280px;gap:28px;}.page__col-right .d-grid {grid-template-columns:minmax(0,1fr);}}
@media (max-width:1220px) {
 .col-main,.content--sidebar-hid .col-main {padding:0;}
 .header .header__search {width:auto;}
 .content--sidebar-hid .side-block__menu > li > a {padding:14px 12px 14px 52px;}
 .content--sidebar-hid .menu2 .side-block__menu > li > a {padding:10px 38px 10px 12px;height:auto;}
 .content--sidebar-hid .hv-nav-label {display:block;}
}
@media (max-width:950px) {
 :root {--indent:24px;--indent-negative:-24px;}
 #dle-content,.d-grid,.d-grid-models,.d-grid-models #dle-content,.page__col-right .d-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px;}
}
@media (max-width:760px) {
 :root {--indent:20px;--indent-negative:-20px;}
 .header {height:128px;align-content:center;gap:0;}
 .col-side {top:128px;}
 .header__logo {margin-right:12px;}
 .logo__title {font-size:20px;letter-spacing:2px;}
 .header button.header__burger {margin-right:12px;}
 .header .header__search {margin-top:8px;}
 .hv-home-heading {padding-top:28px;gap:20px;}
 .hv-home-heading__title {font-size:clamp(32px,8vw,40px);}
 .hv-home-heading__links {gap:10px;}
 .hv-home-heading__link {padding:0 16px;}
 .col-main__right,.sect--padding,.page-padding {padding-top:26px;}
 .sect__title {font-size:20px;}
 .search-page .search > div {flex-wrap:wrap;padding:12px;}
 .search-page .search #searchinput {flex-basis:100%;width:100%!important;}
 .search-page .search button {width:100%;}
 .page__subcol-header h1 {font-size:24px;}
 .page__cols {gap:28px;}
 .pmovie__player-bottom-2 {justify-content:flex-start;}
 .footer {gap:16px;}
}
@media (max-width:599px) {
 #dle-content,.d-grid,.d-grid-models,.d-grid-models #dle-content,.page__col-right .d-grid {grid-template-columns:minmax(0,1fr);gap:20px;}
}
@media (prefers-reduced-motion:reduce) {*,*::before,*::after {scroll-behavior:auto!important;transition:none!important;animation:none!important;}}

.hv-search-empty.message-info {background:#1d2026;color:#c4cad3;border:1px solid var(--hv-border);border-radius:12px;padding:24px;margin:24px 0 0;text-align:center;}
.hv-search-empty.message-info::before {display:none;}
.hv-search-empty .message-info__title {color:#f2f3f5;font-size:18px;font-weight:700;margin-bottom:8px;}

/* An empty comment thread is a normal state. */
.page__comments-info {margin-top:8px;margin-bottom:16px;line-height:1.6;}
.page__comments-info .fal {display:none;}
.page__comments textarea {background:#1d2026;border:1px solid #424955;border-radius:10px;box-shadow:none;padding:14px;color:#e1e5ec;font-size:14px;line-height:1.6;}
.page__comments .add-comments-form__btn {min-height:44px;min-width:110px;border-radius:8px;font-size:13px;font-weight:700;text-transform:none;}
.page__comments-list .message-info {background:#181b20;color:#b4bac4;border:1px dashed #343943;border-radius:10px;padding:20px;text-align:center;}
.page__comments-list .message-info::before {display:none;}
