/* Canonical Additional CSS (movie UI).
   Keep this identical on bloggers-magazinely and minimalist-blogger-x. */

/* ============================================================
   GLOBAL
============================================================ */
:root {
  --controls-side-width: 230px;
}

.site-info {
  width: 100%;
  text-align: center;
  padding: 10px 0;
}

.byline,
.post-divider {
  display: none;
}

.tmdb-dropdown div:hover {
  background: #f0f0f0;
}

.movie-form-spacer {
  margin-top: 20px;
}

body.single-movie .movie-form-spacer {
  margin-top: 12px;
}

#unique_movie_error {
  text-align: center;
  margin: 16px auto 20px;
}

/* Hide repeater UI but keep it functional */
#frm_field_336_container {
  display: none !important;
}

header#masthead {
  margin-top: 0;
}

body.admin-bar header#masthead {
  margin-top: -50px;
}

.blog,
.search-results,
.archive {
  background: #ffffff !important;
}

/* ============================================================
   POSTER HERO
============================================================ */
.poster-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  justify-content: center;
  align-items: center;
  clear: both;
  width: 100%;
  min-height: 220px;
  max-height: 440px;
  padding: 12px 0;
  background:
    radial-gradient(circle at center, #ffffff10, #000000 100%),
    url("https://www.transparenttextures.com/patterns/noise.png");
  background-blend-mode: overlay;
  border-radius: 8px;
}

.poster-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--poster-bg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  filter: blur(18px) brightness(0.35);
  transform: scale(1.35);
  z-index: 0;
}

.poster-hero img,
body.single-movie .poster-hero img {
  position: relative;
  z-index: 1;
  display: block !important;
  visibility: visible !important;
  box-shadow: 0 0 40px rgba(0, 0, 0, 0.4);
  max-height: 400px !important;
  max-width: min(100%, 280px) !important;
  width: auto !important;
  height: auto !important;
  min-width: 0;
  min-height: 0;
  flex: 0 0 auto;
  object-fit: contain !important;
}

.abh-avg-rating {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
  margin: 8px 0 14px;
}

.abh-avg-stars {
  position: relative;
  display: inline-block;
  line-height: 0;
}

.abh-avg-stars-empty,
.abh-avg-stars-fill {
  display: flex;
  gap: 2px;
}

.abh-avg-stars-fill {
  position: absolute;
  left: 0;
  top: 0;
  overflow: hidden;
  white-space: nowrap;
}

.abh-avg-stars svg {
  width: 22px;
  height: 22px;
  display: block;
  flex: 0 0 22px;
}

.abh-avg-stars-empty svg path {
  fill: #d5dde2;
}

.abh-avg-stars-fill svg path {
  fill: #C98C28;
}

.abh-avg-label {
  font-size: 0.9rem;
  font-weight: 600;
  color: #6b7c86;
  line-height: 1.3;
  white-space: nowrap;
}

/* ============================================================
   FEATURED THUMBNAIL / POST IMAGE
============================================================ */
.featured-thumbnail-cropped {
  border-radius: 20px;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  padding: 20px !important;
}

.single-post .post-thumbnail {
  margin: 0 auto !important;
  padding: 0 !important;
  text-align: center;
  max-width: 100% !important;
  background: #111315;
}

.single-post .post-thumbnail img {
  display: block;
  margin: 20px auto;
  max-height: 400px;
  object-fit: contain;
}

/* Magazinely featured slot is a body-level sibling of #page with
   img.wp-post-image. Do not use a descendant .post-thumbnail selector —
   that must never match .poster-hero. */
body.single-movie > .post-thumbnail,
body.single-movie .post-thumbnail {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}


/* ============================================================
   SAVED MOVIES — FIELD SPACING
============================================================ */
.page-id-6436 .frm_style_formidable-style.with_frm_style .form-field {
  margin-bottom: 0 !important;
}

/* ============================================================
   MENU-BAR MOVIE SEARCH
   Header widget shows Movie Details (form 6). Compact version
   sits in Magazinely's black menu bar.
============================================================ */
.header-right-widget-area.nav-movie-search,
.nav-movie-search {
  width: 380px;
  max-width: 100%;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  align-self: stretch;
}

.nav-movie-search .widget,
.nav-movie-search .frm_form_widget,
.nav-movie-search .frm_forms,
.nav-movie-search form {
  margin: 0 !important;
  padding: 0 !important;
}

.nav-movie-search .frm_forms#frm_form_6_container {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}

.nav-movie-search .frm_primary_label,
.nav-movie-search legend,
.nav-movie-search .frm_section_heading,
.nav-movie-search .frm_form_field {
  display: none !important;
}

.nav-movie-search #frm_field_52_container,
.nav-movie-search .search-submit {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
}

.nav-movie-search .frm_fields_container,
.nav-movie-search .frm_form_fields,
.nav-movie-search fieldset {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  border: 0 !important;
  min-width: 0 !important;
}

.nav-movie-search .frm_fields_container {
  position: relative !important;
  background: #ffffff !important;
  border: 2px solid #F4C15A !important;
  border-radius: 999px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25) !important;
  min-height: 34px !important;
  box-sizing: border-box !important;
}

.nav-movie-search .frm_fields_container:focus-within {
  box-shadow: 0 0 0 2px rgba(244, 193, 90, 0.45), 0 1px 3px rgba(0, 0, 0, 0.25) !important;
}

.nav-movie-search .frm_fields_container > *:not(#frm_field_52_container):not(.search-submit) {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.nav-movie-search #frm_field_52_container {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}

.nav-movie-search .search-submit {
  position: absolute !important;
  right: 3px !important;
  top: 50% !important;
  transform: translateY(-50%);
  z-index: 4;
  flex: 0 0 auto !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  display: block !important;
  line-height: 0 !important;
}

.nav-movie-search .search-submit .frm_submit {
  position: static !important;
  transform: none;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}

.nav-movie-search input[type="text"],
.nav-movie-search input[type="search"],
.nav-movie-search input.form-control {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 86px 0 12px !important;
  font-size: 14px !important;
  line-height: 30px !important;
  height: 30px !important;
  width: 100% !important;
  color: #2A4657 !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  outline: none !important;
  margin: 0 !important;
  display: block !important;
  box-sizing: border-box !important;
}

.nav-movie-search input::placeholder {
  color: #6b7c86 !important;
  font-weight: 500 !important;
  opacity: 1 !important;
}

.nav-movie-search input[type="text"]:focus,
.nav-movie-search input[type="search"]:focus,
.nav-movie-search input.form-control:focus {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  color: #2A4657 !important;
}

.nav-movie-search .frm_submit.frm_flex button,
.nav-movie-search .frm_submit.frm_flex input[type="submit"],
.nav-movie-search .frm_button_submit,
.library-search-submit,
.abh-movie-search-submit {
  padding: 0 12px !important;
  font-size: 12px !important;
  line-height: 26px !important;
  height: 26px !important;
  border-radius: 999px !important;
  margin: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  vertical-align: middle;
  font-weight: 700;
}

.abh-movie-search-box {
  border-radius: 999px !important;
}

/* ============================================================
   DELETE ICON
============================================================ */
.delete-wrap {
  width: auto !important;
  height: auto !important;
  display: flex;
  justify-content: flex-end;
  padding-right: 4px;
}

.delete-wrap a {
  width: auto !important;
  height: auto !important;
  display: inline-flex;
  align-items: center;
}

.delete-wrap i.fa-trash {
  font-size: 18px;
}

/* ============================================================
   ROUNDED FORM CONTAINER
============================================================ */
.rounded-box {
  width: 100%;
  max-width: 100%;
  height: 120px;
  background-color: #fff;
  border-radius: 15px;
  margin: 0 auto;
  padding: 15px;
}

.rounded-box .frm_forms {
  width: 100% !important;
  max-width: 100% !important;
}

/* ============================================================
   TYPOGRAPHY / PAGE LAYOUT
============================================================ */
.page h1.entry-title,
.single h1.entry-title {
  margin-top: 20px;
  text-align: center !important;
}

.single-movie .entry-header,
.single-movie h1.entry-title {
  display: none !important;
}

.single-movie .entry-content,
.single-movie .hentry {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

.custom-logo {
  max-height: 125px;
  width: auto !important;
}

.abh-gold-hover:hover {
  background: linear-gradient(180deg, #FFE08A 0%, #F0B24A 100%) !important;
  border-color: #C98C28 !important;
  color: #2A4657 !important;
  filter: brightness(1.08) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.18) !important;
}

.abh-gold-hover:focus,
.abh-gold-hover:focus-visible,
a.frm_submit.button.abh-gold-hover:focus,
button.frm_submit.button.abh-gold-hover:focus {
  outline: none !important;
  outline-offset: 0;
}

.abh-gold-hover:focus:not(:hover),
.abh-gold-hover:focus-visible:not(:hover),
a.frm_submit.button.abh-gold-hover:focus:not(:hover),
button.frm_submit.button.abh-gold-hover:focus:not(:hover) {
  background: linear-gradient(180deg, #F4C15A 0%, #D48B1F 100%) !important;
  border-color: #B67818 !important;
  color: #2A4657 !important;
  filter: none !important;
  transform: none !important;
  box-shadow: none !important;
}

.main-navigation a,
#site-navigation span.dashicons.dashicons-menu:before,
.iot-menu-left-ul a {
  color: #fff !important;
}

#site-navigation #primary-menu {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  width: 100%;
}

#primary-menu > .current-menu-item:not(.menu-item-abh-library-top) > a,
#primary-menu > .current-menu-ancestor > a,
#primary-menu > .current-menu-parent > a {
  color: #F4C15A !important;
}

.tax-movie_category .page-header,
.archive.tax-movie_category .page-header,
.tax-movie_category h1.page-title,
.tax-movie_category .archive-description {
  display: none !important;
}

.menu-item-abh-account {
  margin-left: auto !important;
  position: relative;
}

.menu-item-abh-library-top {
  margin-left: 0.35rem !important;
  position: relative;
  display: flex;
  align-items: center;
}

.menu-item-abh-library-top > a,
.iot-menu-left-ul a[data-abh-library="1"] {
  background: linear-gradient(180deg, #F4C15A 0%, #D48B1F 100%) !important;
  color: #2A4657 !important;
  border: 2px solid #B67818 !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  min-height: 34px;
  padding: 8px 16px !important;
  box-sizing: border-box;
  display: inline-flex !important;
  align-items: center;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
  transition: background 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

.menu-item-abh-library-top > a:hover,
.menu-item-abh-library-top > a:focus,
.iot-menu-left-ul a[data-abh-library="1"]:hover,
.iot-menu-left-ul a[data-abh-library="1"]:focus {
  background: linear-gradient(180deg, #FFD67A 0%, #E1A33B 100%) !important;
  color: #2A4657 !important;
  border-color: #C98C28 !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

.menu-item-abh-library-top > a:active,
.iot-menu-left-ul a[data-abh-library="1"]:active {
  transform: translateY(0);
  box-shadow: none;
}

.menu-item-abh-account > a {
  display: flex;
  align-items: center;
}

.menu-item-abh-account > .sub-menu {
  display: none !important;
  left: auto;
  right: 0;
  min-width: 13.5rem;
  width: 13.5rem;
  text-align: left;
}

.menu-item-abh-user {
  pointer-events: none;
}

.abh-account-user {
  display: block;
  padding: 10px 16px 8px;
  color: #b7c2c8;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.menu-item-abh-account:hover > .sub-menu,
.menu-item-abh-account.focus > .sub-menu,
.menu-item-abh-account:focus-within > .sub-menu {
  display: block !important;
  left: auto !important;
  right: 0;
}

/* Keep the off-canvas drawer below the WP admin bar (My Library is first). */
body.admin-bar #iot-menu-left {
  top: 32px !important;
  height: calc(100% - 32px) !important;
}
@media screen and (max-width: 782px) {
  body.admin-bar #iot-menu-left {
    top: 46px !important;
    height: calc(100% - 46px) !important;
  }
}

@media screen and (max-width: 63.9375em) {
  /* Desktop flex rule above beats the theme's #primary-menu { display: none }. */
  #site-navigation #primary-menu {
    display: none;
  }
  .iot-menu-left-ul .menu-item-abh-account {
    margin-left: 0 !important;
  }
  .iot-menu-left-ul .menu-item-abh-library-top,
  .iot-menu-left-ul > li:has(> a[data-abh-library="1"]) {
    margin-left: 0 !important;
    margin-top: 0.35rem;
    margin-bottom: 0.55rem;
  }
  .iot-menu-left-ul a[data-abh-library="1"] {
    color: #2A4657 !important;
    font-weight: 700 !important;
    font-size: 1.05rem !important;
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  .iot-menu-left-ul > li:has(> a[data-abh-library="1"]),
  .iot-menu-left-ul > li.abh-mobile-library {
    display: list-item !important;
    visibility: visible !important;
    margin-left: 0 !important;
    margin-top: 0.35rem;
    margin-bottom: 0.55rem;
  }
  /* Accordion: nested menus closed until parent is tapped */
  .iot-menu-left-ul > li > ul {
    display: none;
    margin: 0.15rem 0 0.55rem 0.85rem;
    padding: 0;
  }
  .iot-menu-left-ul a[data-abh-parent="1"] {
    position: relative;
    padding-right: 1.5rem !important;
  }
  .iot-menu-left-ul a[data-abh-parent="1"]::after {
    content: "";
    position: absolute;
    right: 0.35rem;
    top: 50%;
    width: 0.45rem;
    height: 0.45rem;
    border-right: 2px solid rgba(255, 255, 255, 0.75);
    border-bottom: 2px solid rgba(255, 255, 255, 0.75);
    transform: translateY(-65%) rotate(45deg);
    transition: transform 0.15s ease;
  }
  .iot-menu-left-ul a[data-abh-parent="1"].is-open::after {
    transform: translateY(-25%) rotate(225deg);
  }
}

.page-template-page-fullwidth #primary,
.page-template-page-fullwidth #main,
.page-template-page-fullwidth .container,
.page-template-page-fullwidth .wrapper,
.page-template-page-fullwidth .site-content,
.page-template-page-fullwidth .boxed,
.page-template-page-fullwidth .sheader {
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Movie Details form (id 6), not the header search (id 4). */
.frm_forms#frm_form_6_container {
  padding: 5px !important;
  margin-bottom: 0 !important;
  background: #000;
  border-radius: 12px;
}

.site.grid-container.start-container-head {
  padding-top: 0 !important;
}

.archive .page-title,
.category .page-title {
  font-size: 2rem !important;
  font-weight: 600 !important;
  margin: 0 !important;
  text-align: left !important;
}

.archive h1.page-title span,
.category h1.page-title span {
  font-weight: 600 !important;
  color: #222 !important;
}

.page.page-id-7311 h1.entry-title,
.page.page-id-9014 h1.entry-title,
.page.page-id-9240 h1.entry-title,
.page.page-id-8021 h1.entry-title {
  display: block !important;
  text-align: left !important;
  margin: 4px 0 18px !important;
  padding: 0 !important;
  font-size: 1.65rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  color: #2A4657 !important;
  letter-spacing: -0.02em;
  width: 100%;
}

body.page-id-7311:not(.library-entry) .entry-header,
body.page-id-9014:not(.library-entry) .entry-header,
body.page-id-9240:not(.library-entry) .entry-header {
  margin: 0 !important;
  padding: 0 !important;
}

body.page-id-7311:not(.library-entry) h1.entry-title,
body.page-id-9014:not(.library-entry) h1.entry-title,
body.page-id-9240:not(.library-entry) h1.entry-title {
  font-size: 1.35rem !important;
  margin: 0 0 2px !important;
}

.library-count {
  margin: 0 0 10px;
  font-size: 0.95rem;
  font-weight: 600;
  color: #6b7c86;
  line-height: 1.3;
}

body.page-id-7311:not(.library-entry) .controls-bar,
body.page-id-9014:not(.library-entry) .controls-bar,
body.page-id-9240:not(.library-entry) .controls-bar {
  margin: 0 0 16px;
}

.library-search {
  position: relative;
  flex: 1 1 auto;
  min-width: 180px;
  max-width: none;
  margin: 0;
}

.library-search input[type="search"] {
  width: 100% !important;
  height: 40px;
  margin: 0;
  padding: 0 88px 0 14px;
  border: 1px solid #c5d0d6;
  border-radius: 999px;
  background: #fff;
  color: #2A4657;
  font-size: 15px;
  font-weight: 500;
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
}

.library-search input[type="search"]::placeholder {
  color: #7a8b95;
  font-weight: 500;
}

.library-search input[type="search"]:hover,
.library-search input[type="search"]:focus,
.library-search:focus-within input[type="search"] {
  border-color: #2A4657;
  box-shadow: 0 0 0 3px rgba(42, 70, 87, 0.12);
  outline: none;
}

.library-search-submit {
  position: absolute;
  right: 5px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  background: #2A4657;
  color: #fff;
  border: 0;
  cursor: pointer;
}

.library-search-submit:hover,
.library-search-submit:focus {
  background: #1f3442;
  filter: none;
  outline: none;
}

.library-search-submit:disabled,
.nav-movie-search .frm_button_submit:disabled {
  opacity: 0.4;
  cursor: not-allowed;
  filter: none;
  pointer-events: none;
}

.library-search-empty {
  margin: 0 0 16px;
  font-size: 0.95rem;
  font-weight: 600;
  color: #6b7c86;
}

.library-search-empty a {
  color: #2A4657;
  text-decoration: underline;
}

.library-search-empty a:hover,
.library-search-empty a:focus {
  color: #D48B1F;
}

body.library-entry.page.page-id-7311 h1.entry-title,
body.library-entry.page.page-id-9014 h1.entry-title,
body.library-entry.page.page-id-9240 h1.entry-title,
body.library-entry .entry-header {
  display: none !important;
}

.page-id-7311 .entry-header,
.page-id-9014 .entry-header,
.page-id-9240 .entry-header,
.page-id-8021 .entry-header {
  text-align: left !important;
}

.page-id-7311 .center-controls,
.page-id-9014 .center-controls,
.page-id-9240 .center-controls,
.page-id-8021 .center-controls {
  display: none !important;
}

.page-id-7311 .entry-content > p:empty,
.page-id-9014 .entry-content > p:empty,
.page-id-9240 .entry-content > p:empty,
.page-id-8021 .entry-content > p:empty {
  display: none !important;
}

.single-frm_display #primary {
  width: 66.666% !important;
  max-width: 66.666% !important;
}

.single-frm_display #secondary,
.single-frm_display .widget-area {
  width: 33.333% !important;
  display: block !important;
}

.comments-area {
  max-width: 100% !important;
  width: 100% !important;
}

/* ============================================================
   BRAND BUTTONS
============================================================ */
.brand-btn,
#frm_form_4_container .frm_submit button,
#frm_form_4_container .frm_submit input[type="submit"],
.frm_submit.frm_flex button,
.frm_submit.frm_flex input[type="submit"],
a.frm_submit.button,
button.frm_submit.button {
  background: linear-gradient(180deg, #F4C15A 0%, #D48B1F 100%) !important;
  color: #2A4657 !important;
  border: 2px solid #B67818 !important;
  padding: 12px 22px !important;
  font-size: 16px !important;
  font-weight: 700;
  border-radius: 999px !important;
  cursor: pointer;
  transition: all 0.25s ease;
  display: inline-block;
  text-decoration: none !important;
}

.brand-btn:hover,
.brand-btn:focus,
#frm_form_4_container .frm_submit button:hover,
#frm_form_4_container .frm_submit button:focus,
#frm_form_4_container .frm_submit input[type="submit"]:hover,
#frm_form_4_container .frm_submit input[type="submit"]:focus,
.frm_submit.frm_flex button:hover,
.frm_submit.frm_flex button:focus,
.frm_submit.frm_flex input[type="submit"]:hover,
.frm_submit.frm_flex input[type="submit"]:focus,
a.frm_submit.button:hover,
button.frm_submit.button:hover,
.menu-item-abh-library-top > a:hover,
.menu-item-abh-library-top > a:focus,
.iot-menu-left-ul a[data-abh-library="1"]:hover,
.iot-menu-left-ul a[data-abh-library="1"]:focus,
a.header-library-invite:hover .header-library-invite-action,
a.header-library-invite:focus .header-library-invite-action,
.comment-form .form-submit input[type="submit"]:hover,
.comment-form .form-submit input[type="submit"]:focus,
#respond input[type="submit"]:hover,
#respond input[type="submit"]:focus,
#commentform input[type="submit"]:hover,
#commentform input[type="submit"]:focus,
body.single-movie #comments #respond input[type="submit"]:hover,
body.single-movie #comments #respond input[type="submit"]:focus,
body.single-movie .abh-library-actions button.abh-library-add:hover,
body.single-movie .abh-library-actions button.abh-library-login:hover,
body.single-movie .abh-library-actions a.abh-visit-library:hover,
.movie-actions button.abh-library-edit:hover,
#abh-library-journal-modal .abh-library-journal > button.frm_submit:hover,
#abh-library-journal-modal .abh-library-journal > button[type="submit"]:hover,
.nav-movie-search .frm_submit.frm_flex button:hover,
.nav-movie-search .frm_submit.frm_flex button:focus,
.nav-movie-search .frm_button_submit:hover,
.nav-movie-search .frm_button_submit:focus,
.abh-discs-login .frm_submit.button:hover,
.abh-discs-login .frm_submit.button:focus {
  background: linear-gradient(180deg, #FFD67A 0%, #E1A33B 100%) !important;
  border-color: #C98C28 !important;
  color: #2A4657 !important;
  filter: none !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15) !important;
}

.brand-btn:active,
#frm_form_4_container .frm_submit button:active,
#frm_form_4_container .frm_submit input[type="submit"]:active,
.frm_submit.frm_flex button:active,
.frm_submit.frm_flex input[type="submit"]:active,
a.frm_submit.button:active,
button.frm_submit.button:active {
  transform: translateY(0);
  box-shadow: none;
}

.abh-library-add-wrap[hidden],
.abh-library-remove-wrap[hidden] {
  display: none !important;
}

body.single-movie .abh-library-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 10px;
  float: none !important;
  width: 100%;
  margin: 0 0 14px;
  text-align: center;
}

body.single-movie .abh-library-add-wrap,
body.single-movie .abh-library-remove-wrap {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 10px;
}

body.single-movie .abh-library-actions a.frm_submit.button,
body.single-movie .abh-library-actions button.frm_submit.button {
  border-radius: 999px !important;
  text-decoration: none !important;
}

body.single-movie .abh-library-actions a.abh-visit-library {
  background: linear-gradient(180deg, #f0c15a 0%, #d49b35 100%) !important;
  color: #1a1a1a !important;
  border: 1px solid rgba(0, 0, 0, 0.12) !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12) !important;
}

body.single-movie .abh-library-actions a.abh-visit-library {
  display: inline-block;
  transition: background 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

.frm_pro_max_limit_desc {
  margin-top: 4px;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: #6b7c86;
}

.frm_pro_max_limit_desc.frm_error,
.frm_pro_max_limit_desc.frm_limit_error {
  color: #a33;
}

button.frm_submit.button:disabled {
  opacity: 0.65;
  cursor: wait;
  transform: none;
}

.abh-confirm {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(31, 52, 66, 0.55);
}

.abh-confirm[hidden] {
  display: none !important;
}

.abh-confirm-card {
  position: relative;
  width: 100%;
  max-width: 400px;
  background: #fff;
  border-radius: 16px;
  padding: 32px 28px 24px;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.28);
  float: none !important;
}

.abh-login-card {
  text-align: center;
}

.abh-confirm-card h2,
.abh-confirm-card .abh-login-title {
  float: none !important;
  display: block;
  width: auto !important;
  max-width: none !important;
  margin: 0 0 10px;
  padding: 0 24px 0 0;
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.25;
  color: #2A4657;
}

.abh-confirm-card p {
  float: none !important;
  margin: 0 0 18px;
  line-height: 1.5;
  color: #304657;
}

.abh-confirm-card .abh-login-copy {
  margin-bottom: 22px;
}

.abh-confirm-close {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 0 !important;
  border-radius: 50%;
  background: transparent !important;
  box-shadow: none !important;
  color: #6b7c86 !important;
  font-size: 28px;
  font-weight: 400;
  line-height: 1;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  outline: none !important;
}

.abh-confirm-close:hover,
.abh-confirm-close:focus,
.abh-confirm-close:focus-visible,
.abh-confirm-close:active {
  background: transparent !important;
  box-shadow: none !important;
  color: #2A4657 !important;
  outline: none !important;
}

.abh-confirm-close:focus-visible {
  outline: 2px solid #2A4657 !important;
  outline-offset: 2px;
}

.abh-confirm-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
  flex-wrap: wrap;
}

.abh-confirm-cancel {
  background: none;
  border: none;
  padding: 0;
  color: #6b7c86;
  font-size: 0.95rem;
  font-weight: 600;
  cursor: pointer;
}

.abh-confirm-cancel:hover,
.abh-confirm-cancel:focus {
  color: #2A4657;
  text-decoration: underline;
}

.abh-login-social {
  margin: 0 0 14px;
}

.abh-login-social .oneall_social_login,
.abh-login-social .nsl-container,
.abh-login-social .nsl-container-buttons {
  margin: 0 auto;
  width: 100% !important;
  max-width: 100% !important;
}

.abh-login-social .nsl-container .nsl-button,
.abh-login-social .nsl-container a {
  display: flex !important;
  justify-content: center;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

.abh-login-divider {
  margin: 0 0 14px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #6b7c86;
}

.abh-login-links {
  display: flex;
  justify-content: center;
  gap: 22px;
  margin: 0 !important;
}

.abh-login-links a {
  color: #2A4657;
  font-weight: 600;
  text-decoration: none;
}

.abh-login-links a:hover,
.abh-login-links a:focus {
  color: #D48B1F;
  text-decoration: underline;
}

.page-id-2112 .entry-header,
.page-id-2112 h1.entry-title {
  display: none !important;
}

.abh-register {
  max-width: 420px;
  margin: 36px auto 64px;
  padding: 32px 28px 28px;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.12);
  text-align: center;
  float: none !important;
}

.abh-register .abh-login-title,
.abh-register .abh-login-copy,
.abh-register .abh-login-divider,
.abh-register .abh-login-links {
  float: none !important;
}

.abh-register-form {
  text-align: left;
}

.abh-register-form p {
  float: none !important;
  margin: 0 0 14px;
}

.abh-register-form label {
  display: block;
  margin: 0 0 6px;
  font-weight: 600;
  color: #2A4657;
}

.abh-register-form input[type="text"],
.abh-register-form input[type="email"],
.abh-register-form input[type="password"] {
  width: 100%;
  box-sizing: border-box;
  height: 44px;
  padding: 8px 12px;
  border: 1px solid #c5d0d6;
  border-radius: 8px;
}

.abh-register-form input:focus {
  outline: 2px solid #2A4657;
  outline-offset: 1px;
}

.abh-register-submit {
  margin: 18px 0 8px !important;
  text-align: center;
}

.abh-register-submit .frm_submit.button {
  width: 100%;
}

.abh-register-errors {
  list-style: none;
  margin: 0 0 16px;
  padding: 10px 12px;
  background: #fdecea;
  color: #8a1f11;
  border-radius: 8px;
  text-align: left;
}

.abh-register-errors li {
  margin: 0;
}

.abh-register .abh-hp {
  position: absolute;
  left: -9999px;
  height: 0;
  overflow: hidden;
}

.abh-register-note {
  text-align: center;
  margin: 40px 0;
}

/* ============================================================
   SAVED MOVIE DETAIL CARD
============================================================ */
.saved-movie-card {
  display: grid !important;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
  background: #fff;
  padding: 28px;
  border-radius: 20px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12);
  float: none !important;
  isolation: isolate;
}

.saved-movie-details {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  padding: 0;
  background: transparent;
  float: none !important;
  width: auto !important;
  min-width: 0;
}

.saved-movie-details h1,
.saved-movie-details h2,
.saved-movie-details p,
.saved-movie-details div {
  float: none !important;
  clear: none !important;
}

.saved-movie-details h1,
.saved-movie-details h2 {
  display: block !important;
  width: 100% !important;
}

.saved-movie-poster {
  width: 100%;
  max-width: 220px;
  position: sticky;
  top: 24px;
}

body.admin-bar .saved-movie-poster {
  top: 56px;
}

.saved-movie-poster a {
  position: relative;
  display: block;
  aspect-ratio: 2 / 3;
  border-radius: 10px;
  overflow: hidden;
  background: #1f3442;
}

.saved-movie-poster img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.saved-movie-details > * + * {
  margin-top: 14px;
}

.abh-justwatch {
  display: block !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  max-width: 100%;
  margin: 24px 0 0;
  padding: 22px 24px 18px;
  background: #fff;
  border-radius: 20px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  overflow: hidden;
}

.movie-page-tmdb .abh-justwatch {
  margin: 14px 0 0;
  padding: 12px 0 0;
  background: transparent;
  border-radius: 0;
  border: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.abh-justwatch-title,
.abh-justwatch h2 {
  display: block !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  margin: 0 0 8px;
  font-size: 1rem;
  font-weight: 700;
  color: #2A4657;
  text-transform: none;
}

.abh-watch-group {
  display: grid !important;
  grid-template-columns: 4.75rem minmax(0, 1fr);
  column-gap: 8px;
  align-items: start;
  float: none !important;
  width: 100% !important;
  overflow: hidden;
}

.abh-watch-group + .abh-watch-group {
  margin-top: 7px;
}

.abh-watch-label,
.abh-watch-group h3 {
  display: block !important;
  float: none !important;
  clear: none !important;
  width: auto !important;
  margin: 8px 0 0;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.25;
  color: #6b7c86;
}

.abh-watch-providers {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  gap: 6px 8px;
  float: none !important;
  width: 100% !important;
  max-width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}

.abh-watch-providers li {
  display: block !important;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}

.abh-watch-provider,
.abh-watch-providers a {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  float: none !important;
  width: 52px;
  margin: 0 !important;
  text-decoration: none;
  color: #2A4657;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.15;
  text-align: center;
}

.abh-watch-providers img {
  float: none !important;
  display: block;
  width: 36px;
  height: 36px;
  margin: 0 !important;
  border-radius: 8px;
  background: #f3f5f6;
  object-fit: cover;
}

.abh-justwatch-empty {
  margin: 0 0 8px;
  color: #6b7c86;
  font-size: 0.95rem;
}

.abh-justwatch-more {
  margin: 8px 0 0;
  font-size: 0.75rem;
  font-weight: 600;
}

.abh-justwatch-more a {
  color: #2A4657;
  text-decoration: none;
}

.abh-justwatch-more a:hover,
.abh-justwatch-more a:focus {
  color: #D48B1F;
  text-decoration: underline;
}

.abh-discs {
  display: block !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  margin: 14px 0 0;
  padding: 12px 0 0;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.movie-page-fb .abh-discs {
  overflow: visible;
}

.abh-discs-title {
  margin: 0 0 8px;
  font-size: 1rem;
  font-weight: 700;
  color: #2A4657;
  text-transform: none;
}

.abh-disc-fb-notes {
  margin: 0 0 10px;
  color: #2A4657;
  font-size: 0.95rem;
  line-height: 1.45;
  float: none !important;
  word-spacing: normal !important;
  letter-spacing: normal !important;
}

.abh-disc-fb-notes p {
  float: none !important;
  margin: 0 0 0.6em;
  word-spacing: normal !important;
  letter-spacing: normal !important;
}

.abh-disc-fb-notes p:last-child {
  margin-bottom: 0;
}

.abh-disc-notice--error {
  color: #8a3b2b;
}

.abh-disc-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px 8px;
  margin: 0 0 10px;
}

.abh-disc-card {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 2px 8px;
  margin: 0 !important;
  padding: 6px 10px !important;
  background: #f7f8f9;
  border-radius: 8px;
  box-shadow: none !important;
  float: none !important;
  width: auto !important;
  max-width: 100%;
}

.abh-disc-card:has(.abh-disc-edit[open]) {
  grid-column: 1 / -1;
}

.single .site-content .entry-content .abh-disc-card p,
.page .site-content .entry-content .abh-disc-card p,
.single .site-content .entry-content .abh-disc-card .abh-disc-main,
.page .site-content .entry-content .abh-disc-card .abh-disc-main {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.3;
}

.single .site-content .entry-content .abh-disc-card .abh-disc-main,
.page .site-content .entry-content .abh-disc-card .abh-disc-main {
  flex: 1 1 auto;
  min-width: 0;
  color: #2A4657;
  font-size: 0.86rem;
  font-weight: 600;
}

.single .site-content .entry-content .abh-disc-card .abh-disc-format,
.page .site-content .entry-content .abh-disc-card .abh-disc-format {
  margin: 0;
  font-size: inherit;
  font-weight: 800;
  letter-spacing: 0.01em;
  line-height: inherit;
  color: #2A4657;
}

.abh-disc-sep {
  margin: 0 0.15em;
  font-weight: 500;
  color: #8a99a1;
}

.single .site-content .entry-content .abh-disc-card .abh-disc-label,
.single .site-content .entry-content .abh-disc-card .abh-disc-discs,
.single .site-content .entry-content .abh-disc-card .abh-disc-country,
.single .site-content .entry-content .abh-disc-card .abh-disc-region,
.single .site-content .entry-content .abh-disc-card .abh-disc-year,
.single .site-content .entry-content .abh-disc-card .abh-disc-upc,
.page .site-content .entry-content .abh-disc-card .abh-disc-label,
.page .site-content .entry-content .abh-disc-card .abh-disc-discs,
.page .site-content .entry-content .abh-disc-card .abh-disc-country,
.page .site-content .entry-content .abh-disc-card .abh-disc-region,
.page .site-content .entry-content .abh-disc-card .abh-disc-year,
.page .site-content .entry-content .abh-disc-card .abh-disc-upc {
  margin: 0;
  font-size: inherit;
  font-weight: 600;
  color: #2A4657;
}

.single .site-content .entry-content .abh-disc-card .abh-disc-notes,
.single .site-content .entry-content .abh-disc-card .abh-disc-by,
.page .site-content .entry-content .abh-disc-card .abh-disc-notes,
.page .site-content .entry-content .abh-disc-card .abh-disc-by {
  flex: 1 1 100%;
  margin: 0 !important;
  color: #919191;
  font-size: 0.72rem;
  font-weight: 500;
  line-height: 1.3;
}

.abh-disc-by a {
  color: inherit;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.abh-disc-by a:hover,
.abh-disc-by a:focus {
  color: #D48B1F;
}

.single .site-content .entry-content .abh-disc-card .abh-disc-shop,
.page .site-content .entry-content .abh-disc-card .abh-disc-shop {
  color: #2A4657 !important;
  font-size: 0.8rem;
  font-weight: 700;
  text-decoration: underline !important;
  text-underline-offset: 2px;
  background: none !important;
  padding: 0 !important;
}

.single .site-content .entry-content .abh-disc-card .abh-disc-shop:hover,
.page .site-content .entry-content .abh-disc-card .abh-disc-shop:hover,
.single .site-content .entry-content .abh-disc-card .abh-disc-shop:focus,
.page .site-content .entry-content .abh-disc-card .abh-disc-shop:focus {
  color: #D48B1F !important;
}

.abh-disc-ebay-note {
  margin: 8px 0 0;
  color: #919191;
  font-size: 0.72rem;
  line-height: 1.3;
}

.abh-disc-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: baseline;
  margin: 0;
  flex: 1 1 100%;
}

.abh-disc-edit {
  margin: 0;
}

.abh-disc-edit[open] {
  flex: 1 1 100%;
}

.abh-disc-edit summary {
  cursor: pointer;
  display: inline-block;
  padding: 0;
  font-size: 0.8rem;
  font-weight: 600;
  color: #6b7c86;
  list-style: none;
}

.abh-disc-edit summary::-webkit-details-marker {
  display: none;
}

.abh-disc-edit summary:hover,
.abh-disc-edit summary:focus {
  color: #D48B1F;
}

.abh-discs:has(.abh-disc-edit[open]) .abh-disc-edit > summary {
  display: none;
}

.abh-disc-edit .abh-disc-form {
  margin-top: 10px;
}

.abh-disc-remove {
  margin: 0;
}

.abh-disc-remove button {
  padding: 0;
  border: 0;
  background: none;
  color: #6b7c86;
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
}

.abh-disc-remove button:hover,
.abh-disc-remove button:focus {
  color: #8a3b2b;
}

.abh-disc-toolbar {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 0.35rem 1.35rem;
  margin: 8px 0 0;
}

.abh-disc-toolbar .abh-disc-add {
  margin: 0;
  flex: 1 1 auto;
  min-width: 0;
}

.abh-disc-toolbar .abh-discs-login {
  margin: 0;
  flex: 0 1 auto;
}

.abh-disc-correct {
  flex: 0 0 auto;
  font-size: 0.88rem;
  font-weight: 600;
  color: #D48B1F;
  text-decoration: underline;
  text-underline-offset: 3px;
  white-space: nowrap;
}

.abh-disc-correct:hover,
.abh-disc-correct:focus {
  color: #2A4657;
}

.abh-disc-add {
  margin: 4px 0 0;
  overflow: visible;
}

.abh-disc-add summary {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  font-size: 0.88rem;
  font-weight: 600;
  color: #D48B1F;
  list-style: none;
  text-transform: none;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.abh-disc-add summary::-webkit-details-marker {
  display: none;
}

.abh-disc-add summary::after {
  content: "";
  width: 0.4em;
  height: 0.4em;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-0.1em);
  flex: 0 0 auto;
}

.abh-disc-add[open] summary::after {
  transform: rotate(225deg) translateY(-0.05em);
}

.abh-disc-add summary:hover,
.abh-disc-add summary:focus {
  color: #2A4657;
}

/* Only show disc forms when their <details> is open. Author `display`
   otherwise overrides the UA rule that hides closed-details children,
   which left a tall invisible form overlaying the comments below. */
details.abh-disc-add:not([open]) > *:not(summary),
details.abh-disc-edit:not([open]) > *:not(summary),
details.movie-credits-more:not([open]) > *:not(summary) {
  display: none !important;
}

details.abh-disc-add[open] > .abh-disc-form,
details.abh-disc-edit[open] > .abh-disc-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 12px;
  margin: 12px 0 0;
  overflow: visible;
}

.abh-disc-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 12px;
  margin: 12px 0 0;
}

.abh-disc-field {
  margin: 0;
}

.abh-disc-field--wide,
.abh-disc-label-field,
.abh-disc-discs-field,
.abh-disc-submit {
  grid-column: 1 / -1;
}

.abh-disc-submit {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.abh-disc-cancel {
  padding: 0;
  border: 0;
  background: none;
  color: #6b7c86;
  font-size: 0.88rem;
  font-weight: 600;
  cursor: pointer;
}

.abh-disc-cancel:hover,
.abh-disc-cancel:focus {
  color: #2A4657;
}

.abh-disc-field label {
  display: block;
  margin: 0 0 4px;
  font-size: 0.78rem;
  font-weight: 700;
  color: #2A4657;
}

.abh-disc-field label span {
  font-weight: 500;
  color: #6b7c86;
}

.abh-disc-field input,
.abh-disc-field select,
.abh-disc-field textarea {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 8px 10px;
  border: 1px solid rgba(0, 0, 0, 0.14);
  border-radius: 8px;
  font-size: 0.95rem;
}

.abh-disc-label-field {
  overflow: visible;
  position: relative;
  z-index: 5;
}

.abh-disc-label-combo {
  position: relative;
  display: block;
}

.abh-disc-label-hint {
  display: block;
  margin: 4px 0 0;
  font-size: 0.72rem;
  font-weight: 500;
  color: #6b7c86;
}

.abh-disc-label-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 8px 0 0;
}

.abh-disc-label-chip {
  display: inline-flex;
  align-items: stretch;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 999px;
  background: #f7f8f9;
}

.abh-disc-label-tag {
  margin: 0;
  padding: 4px 8px 4px 10px;
  border: 0;
  background: transparent;
  color: #2A4657;
  font-size: 0.8rem;
  line-height: 1.2;
  cursor: pointer;
}

.abh-disc-label-chip:hover,
.abh-disc-label-chip:focus-within {
  border-color: #D48B1F;
  background: rgba(212, 139, 31, 0.12);
}

.abh-disc-label-remove {
  margin: 0;
  padding: 4px 8px 4px 6px;
  border: 0;
  border-left: 1px solid rgba(0, 0, 0, 0.1);
  background: transparent;
  color: #6b7c86;
  font-size: 1rem;
  line-height: 1;
  cursor: pointer;
}

.abh-disc-label-remove:hover,
.abh-disc-label-remove:focus {
  color: #8a3b2b;
  background: rgba(138, 59, 43, 0.08);
}

.abh-disc-label-suggest {
  position: absolute;
  z-index: 9999;
  left: 0;
  right: 0;
  top: calc(100% + 4px);
  margin: 0;
  padding: 6px 0;
  max-height: 340px;
  overflow: auto;
  list-style: none;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 12px;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18);
}

.abh-disc-label-suggest li {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
}

.abh-disc-label-suggest .abh-disc-label-pick {
  flex: 1 1 auto;
  display: block;
  width: 100%;
  padding: 8px 12px;
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
  color: #2A4657;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
}

.abh-disc-label-suggest li.is-active .abh-disc-label-pick,
.abh-disc-label-suggest .abh-disc-label-pick:hover {
  background: #f6f1e6;
}

.abh-disc-label-suggest .abh-disc-label-empty {
  padding: 10px 12px;
  font-size: 13px;
  color: #6b7c86;
}

.abh-disc-honeypot {
  position: absolute;
  left: -9999px;
  height: 0;
  overflow: hidden;
}

.abh-discs-login {
  margin: 8px 0 0;
}

.abh-discs-login .frm_submit.button {
  padding: 10px 18px !important;
  font-size: 14px !important;
}

.saved-movie-details .movie-title {
  display: block !important;
  float: none !important;
  clear: none !important;
  width: 100% !important;
  margin: 0 !important;
  font-size: 1.65rem !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  color: #2A4657 !important;
  letter-spacing: -0.02em;
}

.saved-movie-details .movie-title a {
  color: #2A4657 !important;
  text-decoration: underline;
  text-decoration-color: rgba(201, 140, 40, 0.45);
  text-underline-offset: 0.18em;
  text-decoration-thickness: 2px;
}

.saved-movie-details .movie-title a:hover {
  color: #D48B1F !important;
}

.movie-year {
  font-weight: 400;
  opacity: 0.6;
}

.movie-credits strong {
  display: block;
  margin-bottom: 4px;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.abh-library-movie-facts {
  width: 100%;
  margin: 0.25rem 0 0;
}

.movie-facts-list {
  display: grid;
  gap: 0.45rem 0.85rem;
  margin: 0 0 0.75rem;
  padding: 0;
}

.movie-fact {
  display: grid;
  grid-template-columns: 6.5rem minmax(0, 1fr);
  gap: 0.35rem 0.75rem;
  margin: 0;
  align-items: baseline;
}

.movie-fact dt {
  margin: 0;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #5c6f7c;
}

.movie-fact dd {
  margin: 0;
  color: #304657;
  font-size: 0.98rem;
  line-height: 1.4;
}

.abh-library-movie-facts .movie-overview {
  margin: 0.15rem 0 0;
  color: #304657;
  font-size: 1rem;
  line-height: 1.55;
}

.movie-notes {
  width: 100%;
}

.journal-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 16px;
  width: 100%;
  margin: 1rem 0 0;
}

.journal-meta .movie-rating {
  margin-top: 0;
  display: flex;
  align-items: center;
}

.journal-formats {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  width: 100%;
}

.journal-format-chip {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  background: #eef2f4;
  font-size: 12px;
  font-weight: 600;
  color: #2A4657;
  line-height: 1.2;
}

.movie-notes strong,
.movie-watched strong {
  display: block;
  margin-bottom: 6px;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #6b7c86;
}

.movie-notes-text p,
.journal-note-lead {
  margin: 0 0 0.75em;
  line-height: 1.6;
}

.movie-notes-text p:last-child,
.journal-quote p:last-child {
  margin-bottom: 0;
}

.journal-quote {
  margin: 4px 0 0;
  padding: 0 0 0 14px;
  border-left: 3px solid #F4C15A;
  color: #304657;
  font-style: italic;
  font-weight: 400;
}

/* Movie singles: hide the Magazinely widget sidebar so FB/TMDB
   columns have room. Library and blog templates are unchanged. */
body.single-movie #secondary,
body.single-movie aside.widget-area,
body.single-movie #primary ~ #secondary {
  display: none !important;
}

body.single-movie #primary,
body.single-movie #primary.large-8,
body.single-movie #primary.medium-8,
body.single-movie #primary.content-area,
body.single-movie .content-area {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  flex-basis: 100% !important;
  float: none !important;
}

.movie-page-layout {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  max-width: 1080px;
  margin: 0 auto 24px;
  text-align: left;
  float: none !important;
  width: 100%;
}

.movie-page-layout h1,
.movie-page-layout h2,
.movie-page-title,
.movie-page-about {
  float: none !important;
  display: block !important;
  clear: none !important;
  width: 100% !important;
}

.movie-page-layout .abh-avg-rating {
  margin: 6px 0 10px;
  width: 100%;
}

.movie-page-columns {
  display: grid !important;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: 24px 32px;
  align-items: start;
  width: 100%;
  float: none !important;
}

.movie-page-columns--fb-only,
.movie-page-columns--tmdb-only {
  grid-template-columns: 1fr !important;
  max-width: none;
}

.movie-page-tmdb--solo {
  float: none !important;
  clear: both;
  width: 100% !important;
  max-width: 100%;
}

.movie-page-fb,
.movie-page-tmdb {
  min-width: 0;
  float: none !important;
  width: auto !important;
  max-width: 100%;
  display: block !important;
  overflow: hidden;
}

/* Allow open edition forms to spill; keep closed layout clipped. */
.movie-page-fb:has(details[open]),
.movie-page-tmdb:has(details[open]) {
  overflow: visible;
}

body.single-movie .comments-area,
body.single-movie #comments {
  clear: none !important;
  float: none !important;
  width: 100%;
  margin-top: 8px !important;
  padding-top: 0 !important;
}

body.single-movie .header-promo-area,
body.single-movie .header-promo-sample {
  display: none !important;
}

/* Native WordPress comments */
body.single-movie .about-the-author {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

body.single-movie .movie-page-layout {
  margin-bottom: 0 !important;
}

body.single-movie #comments,
body.single-movie .comments-area,
.single-movie #comments {
  clear: none !important;
  float: none !important;
  display: block !important;
  width: 100% !important;
  max-width: 100%;
  color: #2A4657;
  box-sizing: border-box;
  margin-top: 8px !important;
  padding-top: 0 !important;
}

.single-movie #comments .comments-title,
.single-movie #comments .comment-reply-title,
body.single-movie .comments-area .comments-title,
body.single-movie .comments-area .comment-reply-title {
  color: #2A4657 !important;
  font-size: 1.25rem !important;
  font-weight: 700;
  line-height: 1.25;
  margin: 0 0 10px !important;
  padding: 12px 0 8px !important;
  border-top: 1px solid rgba(42, 70, 87, 0.14) !important;
  border-bottom: 0 !important;
  font-family: inherit !important;
}

.comments-area {
  color: #2A4657;
  box-sizing: border-box;
}


.comment-list,
.comments-area ol.comment-list {
  list-style: none;
  margin: 0 0 16px !important;
  padding: 0 !important;
  float: none !important;
  display: block !important;
  width: 100% !important;
}

.comment-list .comment,
.comments-area .comment-list > li,
.comments-area li {
  display: block !important;
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box;
}

.comment-list .comment-body,
.comments-area .comment-body {
  position: relative !important;
  display: block !important;
  overflow: hidden;
  padding: 8px 0 6px !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(42, 70, 87, 0.1);
  min-height: 0;
}

.comment-list .comment-meta,
.comments-area .comment-meta {
  display: block !important;
  margin: 0 0 4px !important;
  padding: 0 0 0 50px !important;
  min-height: 40px;
  position: relative;
  line-height: 1.25;
}

.comment-list .comment-author.vcard,
.comments-area .comment-author.vcard {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

.comment-list .avatar,
.comments-area img.avatar {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  float: none !important;
  display: block !important;
  width: 40px !important;
  height: 40px !important;
  margin: 0 !important;
  border-radius: 50%;
  box-shadow: 0 0 0 1px rgba(42, 70, 87, 0.1);
  background: #1c3a4a;
  object-fit: cover;
}

.comment-list .fn,
.comments-area b.fn,
.comments-area b.fn * {
  color: #2A4657;
  font-weight: 700;
  font-size: 0.9rem;
  line-height: 1.25;
}

.comment-list .says,
.comments-area .says {
  display: none !important;
}

.abh-mention-author {
  color: #2A4657;
  font-weight: 700;
  text-decoration: none;
  border-bottom: 1px solid rgba(42, 70, 87, 0.28);
  cursor: pointer;
}

.abh-mention-author:hover,
.abh-mention-author:focus {
  color: #C98C28;
  border-bottom-color: #C98C28;
}

.abh-comment-mention {
  color: #2A4657;
  font-weight: 700;
  text-decoration: none;
  border-bottom: 1px solid rgba(212, 139, 31, 0.55);
}

.abh-comment-mention:hover,
.abh-comment-mention:focus {
  color: #C98C28;
  border-bottom-color: #C98C28;
}

.abh-comment-like {
  display: inline-block;
  margin-left: 12px;
  padding: 0;
  border: 0;
  background: none;
  color: #C98C28;
  font: inherit;
  font-size: inherit;
  font-weight: 600;
  line-height: inherit;
  cursor: pointer;
  vertical-align: baseline;
}

.abh-comment-like:hover,
.abh-comment-like:focus {
  color: #2A4657;
  outline: none;
}

.abh-comment-like.is-liked .abh-comment-like-label {
  color: #2A4657;
}

.abh-comment-like-count {
  margin-left: 4px;
  color: #7a8b95;
  font-weight: 600;
}

body.single-movie .abh-comment-like {
  font-size: 0.75rem;
}

.abh-comment-edit,
.abh-comment-delete {
  display: inline-block;
  margin-left: 12px;
  padding: 0;
  border: 0;
  background: none;
  color: #9aa8b0;
  font: inherit;
  font-size: inherit;
  font-weight: 600;
  line-height: inherit;
  cursor: pointer;
  vertical-align: baseline;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.abh-comment-edit:hover,
.abh-comment-edit:focus,
.abh-comment-delete:hover,
.abh-comment-delete:focus {
  color: #2A4657;
  outline: none;
}

.abh-comment-delete:hover,
.abh-comment-delete:focus {
  color: #8a3b2b;
}

body.single-movie .abh-comment-edit,
body.single-movie .abh-comment-delete {
  font-size: 0.75rem;
}

.comment-content.is-editing {
  margin-top: 6px;
}

.abh-comment-edit-input {
  display: block;
  width: 100%;
  min-height: 72px;
  box-sizing: border-box;
  margin: 0 0 8px;
  padding: 10px 12px;
  border: 1px solid #c5d0d6;
  border-radius: 8px;
  color: #2A4657;
  font: inherit;
  line-height: 1.45;
  resize: vertical;
}

.abh-comment-edit-actions {
  display: flex;
  gap: 10px;
  align-items: center;
}

.abh-comment-edit-save,
.abh-comment-edit-cancel {
  appearance: none;
  border-radius: 6px;
  font: inherit;
  font-size: 0.85rem;
  font-weight: 700;
  cursor: pointer;
  padding: 6px 12px;
}

.abh-comment-edit-save {
  border: 0;
  background: linear-gradient(180deg, #f0c15a 0%, #d49b35 100%);
  color: #1a1a1a;
}

.abh-comment-edit-cancel {
  border: 1px solid #c5d0d6;
  background: #fff;
  color: #2A4657;
}

.abh-fb-author-id {
  color: #7a8b95;
  font-weight: 600;
  font-size: 0.82em;
  letter-spacing: 0.02em;
}

.comment-list .fn a.abh-fb-author-link,
.comments-area b.fn a.abh-fb-author-link {
  color: #2A4657;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  text-decoration-color: rgba(42, 70, 87, 0.55);
}

.comment-list .fn a.abh-fb-author-link:hover,
.comment-list .fn a.abh-fb-author-link:focus,
.comments-area b.fn a.abh-fb-author-link:hover,
.comments-area b.fn a.abh-fb-author-link:focus {
  color: #C98C28;
  text-decoration-color: #C98C28;
}

.comment-list .fn a.abh-fb-author-link .abh-fb-author,
.comment-list .fn a.abh-fb-author-link .abh-fb-author-id,
.comments-area b.fn a.abh-fb-author-link .abh-fb-author,
.comments-area b.fn a.abh-fb-author-link .abh-fb-author-id {
  color: inherit;
  font-weight: inherit;
}

.comment-list .fn a.abh-fb-author-link::after,
.comments-area b.fn a.abh-fb-author-link::after {
  content: " \2197";
  font-size: 0.72em;
  font-weight: 700;
}

.comment-list .comment-metadata,
.comments-area .comment-metadata {
  float: none !important;
  display: block !important;
  margin: 1px 0 0 !important;
  padding: 0 !important;
  line-height: 1.2;
}

.comment-list .comment-metadata time,
.comments-area .comment-metadata time {
  float: none !important;
  display: inline !important;
  color: #7a8b95 !important;
  font-size: 0.72rem !important;
  margin: 0 !important;
}

.comment-list .comment-metadata a,
.comments-area .comment-metadata a {
  color: inherit;
  text-decoration: none;
}

.comment-list .comment-metadata a:hover,
.comments-area .comment-metadata a:hover {
  color: #2A4657;
}

.comment-list .edit-link,
.comments-area .edit-link {
  display: inline !important;
  margin: 0 0 0 8px !important;
  font-size: 0.72rem;
  position: static !important;
}

.comment-list .edit-link a,
.comments-area .edit-link a,
.comment-list .comment-edit-link,
.comments-area .comment-edit-link,
.comments-area a.comment-edit-link {
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  color: #9aa8b0 !important;
  border: 0 !important;
  background: none !important;
  padding: 0 !important;
  font-weight: 500;
  font-size: 0.72rem !important;
  text-decoration: underline;
  text-underline-offset: 2px;
  border-radius: 0 !important;
}

.comment-list .comment-content,
.comments-area .comment-content {
  float: none !important;
  clear: none !important;
  display: block !important;
  width: auto !important;
  max-width: 100%;
  margin: 0 0 2px 50px !important;
  padding: 0 !important;
  color: #24343d;
  line-height: 1.45;
  font-size: 0.92rem;
  box-sizing: border-box;
}

.comment-list .comment-content p,
.comments-area .comment-content p {
  float: none !important;
  width: auto !important;
  margin: 0 0 0.3em !important;
  padding: 0 !important;
}

.comment-list .comment-content p:last-child,
.comments-area .comment-content p:last-child {
  margin-bottom: 0 !important;
}

.comment-list .reply,
.comments-area .reply {
  position: static !important;
  top: auto !important;
  right: auto !important;
  display: block !important;
  margin: 0 0 0 50px !important;
  padding: 0 !important;
  font-size: 0.78rem;
  line-height: 1.2;
}

.comment-list .comment-reply-link {
  color: #2A4657;
  font-weight: 650;
  text-decoration: none;
  border-bottom: 1px solid rgba(42, 70, 87, 0.28);
}

.comment-list .comment-reply-link:hover {
  border-bottom-color: #2A4657;
}

.comment-list .children,
.comments-area ol.children {
  list-style: none;
  margin: 0 0 0 18px !important;
  padding: 0 0 0 12px !important;
  border-left: 2px solid rgba(42, 70, 87, 0.12);
  float: none !important;
  width: auto !important;
  display: block !important;
}

.comment-list .children .comment-body,
.comments-area .children .comment-body {
  padding-top: 6px !important;
  padding-bottom: 6px !important;
}

.abh-fb-comment--guest .avatar {
  box-shadow: 0 0 0 1px rgba(212, 160, 23, 0.28);
}

.comment-respond,
#respond.comment-respond {
  text-align: left;
  margin: 6px 0 0;
  padding: 6px 0 0;
  clear: both !important;
  float: none !important;
  width: 100% !important;
  display: block !important;
}

.comment-respond .comment-notes,
.comment-respond .logged-in-as,
.comment-respond p.comment-notes {
  float: none;
  width: 100%;
  text-align: left;
  margin: 0 0 10px;
  color: #6b7c86;
  font-size: 0.85rem;
}

.comment-respond label {
  display: block;
  float: none;
  width: 100%;
  text-align: left;
  margin: 0 0 4px;
  font-weight: 600;
  color: #2A4657;
}

.comment-form p,
.comment-respond p.comment-form-author,
.comment-respond p.comment-form-email,
.comment-respond p.comment-form-url,
.comment-respond p.comment-form-comment {
  float: none;
  width: 100%;
  max-width: 100%;
  margin: 0 0 10px;
}

.comment-respond input[type="text"],
.comment-respond input[type="email"],
.comment-respond input[type="url"],
.comment-respond textarea,
#comments textarea,
#commentform input[type="text"],
#commentform input[type="email"],
#commentform input[type="url"],
#commentform textarea {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #c5d0d6;
  border-radius: 8px;
  padding: 10px 12px;
  color: #2A4657;
  box-shadow: none;
}

.comment-respond textarea,
#comments textarea,
#commentform textarea {
  min-height: 72px;
  height: 72px;
  padding: 10px 12px;
  resize: vertical;
}

body.single-movie .comment-respond textarea,
body.single-movie #comments textarea,
body.single-movie #commentform textarea {
  min-height: 72px !important;
  height: 72px;
  max-height: 280px;
  padding: 10px 12px !important;
}

.comment-respond input:focus,
.comment-respond textarea:focus,
#commentform input:focus,
#commentform textarea:focus {
  outline: 2px solid #2A4657;
  outline-offset: 1px;
  border-color: #2A4657;
  background: #fff;
}

.comment-form .form-submit,
p.form-submit {
  text-align: left;
  margin: 6px 0 0;
}

.comment-form .form-submit input[type="submit"],
#respond input[type="submit"],
#commentform input[type="submit"] {
  display: inline-block;
  background: linear-gradient(180deg, #F4C15A 0%, #D48B1F 100%) !important;
  color: #2A4657 !important;
  border: 2px solid #B67818 !important;
  padding: 12px 22px !important;
  font-size: 16px !important;
  font-weight: 700;
  border-radius: 999px !important;
  cursor: pointer;
  transition: background 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

.comment-form .form-submit input[type="submit"]:hover,
.comment-form .form-submit input[type="submit"]:focus,
#respond input[type="submit"]:hover,
#respond input[type="submit"]:focus,
#commentform input[type="submit"]:hover,
#commentform input[type="submit"]:focus {
  background: linear-gradient(180deg, #FFD67A 0%, #E1A33B 100%) !important;
  border-color: #C98C28 !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

.comment-form .form-submit input[type="submit"]:active,
#respond input[type="submit"]:active,
#commentform input[type="submit"]:active {
  transform: translateY(0);
  box-shadow: none;
}

.comment-form-cookies-consent,
#respond .comment-form-cookies-consent {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  max-width: 100%;
}

#respond .comment-form-cookies-consent label {
  width: auto;
  float: none;
  margin: 0;
  text-align: left;
  font-weight: 500;
}

.movie-editorial,
.single-movie .movie-editorial {
  margin: 0 0 16px;
  font-size: 1.12rem;
  line-height: 1.72;
  color: #1f2d36;
}

.movie-editorial p,
.single-movie .movie-editorial p,
.single-movie .entry-content .movie-editorial p {
  float: none !important;
  margin: 0 0 1em;
  color: #1f2d36;
}

.movie-editorial p:last-child {
  margin-bottom: 0;
}

.movie-editorial-images {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 4px 0 0;
}

.movie-page-fb .movie-editorial,
.single-movie .movie-page-fb .movie-editorial {
  margin-bottom: 16px;
}

.movie-page-fb .movie-editorial-images {
  margin-bottom: 0;
}

.movie-page-fb .movie-editorial-thumb:nth-child(n+5),
.movie-editorial-images .movie-editorial-thumb[hidden] {
  display: none !important;
}

.movie-editorial-thumb {
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 10px;
  background: #1f3442;
  line-height: 0;
}

.movie-editorial-images img,
.movie-editorial-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
}

.abh-lightbox {
  position: fixed;
  inset: 0;
  z-index: 100001;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 48px 56px;
  background: rgba(15, 24, 31, 0.88);
}

.abh-lightbox[hidden] {
  display: none !important;
}

.abh-lightbox-img {
  max-width: min(1100px, 100%);
  max-height: calc(100vh - 80px);
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 8px;
}

.abh-lightbox-close,
.abh-lightbox-prev,
.abh-lightbox-next {
  position: absolute;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #fff !important;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  outline: none !important;
  line-height: 1;
}

.abh-lightbox-close {
  top: 12px;
  right: 16px;
  width: 44px;
  height: 44px;
  font-size: 32px;
}

.abh-lightbox-prev,
.abh-lightbox-next {
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  font-size: 42px;
}

.abh-lightbox-prev { left: 8px; }
.abh-lightbox-next { right: 8px; }

.movie-synopsis-label {
  display: none;
}

.movie-page-about {
  margin: 0 0 10px;
  font-size: 1.25rem;
  line-height: 1.25;
  font-weight: 700;
  color: #2A4657;
  letter-spacing: -0.02em;
  text-transform: none;
}

.movie-page-title {
  display: block;
  float: none;
  width: 100%;
  margin: 0;
  font-size: 2rem;
  line-height: 1.15;
  font-weight: 700;
  color: #2A4657;
  letter-spacing: -0.02em;
}

.movie-page-tagline,
.single-movie .movie-page-tagline {
  margin: 0 0 12px;
  font-size: 1.12rem;
  font-style: italic;
  color: #4a5d68;
}

.movie-overview p,
.movie-page-tmdb .movie-overview p {
  margin: 0 0 12px;
  font-size: 1.12rem;
  line-height: 1.65;
  color: #304657;
}

.movie-page-fb .movie-overview,
.single-movie .movie-page-fb .movie-overview {
  margin: 0 0 16px;
  font-size: 1.12rem;
  line-height: 1.72;
  color: #1f2d36;
}

.movie-page-fb .movie-overview p,
.single-movie .movie-page-fb .movie-overview p {
  float: none !important;
  margin: 0;
  color: #1f2d36;
  font-size: inherit;
  line-height: inherit;
}

.movie-page-fb .movie-page-about {
  margin-top: 22px;
}

.movie-page-fb .movie-overview + .movie-page-about {
  margin-top: 28px;
}

.movie-page-credits {
  margin: 14px 0 0;
  display: grid;
  gap: 10px;
}

.movie-page-credits--more {
  margin-top: 10px;
}

.movie-credits-more {
  margin: 14px 0 0;
}

.movie-credits-more summary {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  font-size: 1.05rem;
  font-weight: 700;
  color: #D48B1F;
  list-style: none;
  text-transform: none;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.movie-credits-more summary::-webkit-details-marker {
  display: none;
}

.movie-credits-more summary::after {
  content: "";
  width: 0.4em;
  height: 0.4em;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-0.1em);
  flex: 0 0 auto;
}

.movie-credits-more[open] summary::after {
  transform: rotate(225deg) translateY(-0.05em);
}

.movie-credits-more summary:hover,
.movie-credits-more summary:focus {
  color: #2A4657;
}

.movie-page-tmdb .movie-page-credits dd {
  font-size: 1.05rem;
}

.movie-page-credits > div {
  display: grid !important;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 8px 16px;
  align-items: start;
  float: none !important;
  width: 100%;
}

.movie-page-credits dt,
.movie-page-credits dd {
  float: none !important;
  width: auto !important;
}

.movie-page-credits dt {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #6b7c86;
  padding-top: 3px;
}

.movie-page-credits dd {
  margin: 0;
  color: #304657;
  line-height: 1.45;
}

.movie-notes-text {
  margin-top: 6px;
  line-height: 1.55;
  font-weight: 400;
  color: #304657;
  width: 100%;
}

.journal-status {
  display: inline-flex !important;
  float: none !important;
  align-items: center;
  margin: 0;
  padding: 0.4rem 0.9rem;
  border: 1px solid #c5d0d6;
  border-radius: 999px;
  background: #eef2f4;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.2;
  color: #5c6f7c !important;
}

.journal-status.journal-status-watched {
  border-color: #2A4657 !important;
  background: #2A4657 !important;
  color: #fff !important;
}

.movie-actions {
  margin-top: 22px;
  padding-top: 16px;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  flex-wrap: wrap;
  width: 100%;
  text-align: left;
  font-size: 0.9rem;
}

.movie-actions a {
  text-decoration: none;
  color: #2A4657;
  font-weight: 600;
}

.movie-actions a:hover {
  text-decoration: underline;
  color: #D48B1F;
}

/* Secondary action: outline (pairs with gold primary frm_submit.button). */
.movie-actions button.frm_submit.button.abh-remove-library,
body.single-movie .abh-library-actions button.abh-remove-library {
  background: #fff !important;
  color: #2A4657 !important;
  border: 1px solid rgba(42, 70, 87, 0.28) !important;
  box-shadow: none !important;
  transform: none !important;
}

.movie-actions button.frm_submit.button.abh-remove-library:hover,
.movie-actions button.frm_submit.button.abh-remove-library:focus,
body.single-movie .abh-library-actions button.abh-remove-library:hover,
body.single-movie .abh-library-actions button.abh-remove-library:focus {
  border-color: #C98C28 !important;
  color: #2A4657 !important;
  background: #fff !important;
  transform: none !important;
  box-shadow: none !important;
}

.library-remove-link {
  background: none;
  border: none;
  padding: 0;
  color: #6b7c86;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
}

.library-remove-link:hover,
.library-remove-link:focus {
  color: #9b2c2c;
  text-decoration: underline;
}

.watched-icon {
  width: 20px !important;
  margin-right: 8px;
}

.movie-notes > img.watched-icon {
  background: #ffffff;
  border-radius: 6px;
  padding: 4px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}

.movie-rating {
  margin-top: 14px;
  font-weight: 600;
  color: #2A4657;
}

.movie-rating .frm-star-rating {
  margin-left: 8px;
}

/* ============================================================
   ADD TO LIBRARY MODAL
============================================================ */
.frm-modal-sc .modal-dialog {
  max-width: 420px;
  margin-top: 8vh !important;
}

.frm-modal-sc .modal-content {
  border: 0;
  border-radius: 16px;
  box-shadow: 0 24px 60px rgba(16, 32, 42, 0.28);
  overflow: hidden;
}

.frm-modal-sc .modal-header {
  padding: 16px 20px !important;
  border-bottom: 1px solid rgba(42, 70, 87, 0.1);
  background: #fff;
}

.frm-modal-sc .modal-title {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 700;
  color: #2A4657;
  letter-spacing: -0.02em;
}

.frm-modal-sc .modal-header .close {
  font-size: 28px;
  font-weight: 400;
  line-height: 1;
  color: #6b7c86;
  opacity: 1;
}

.frm-modal-sc .modal-header .close:hover,
.frm-modal-sc .modal-header .close:focus {
  color: #2A4657;
  text-decoration: none;
}

.frm-modal-sc .modal-body {
  padding: 16px 20px 20px !important;
  max-height: min(72vh, 560px);
  overflow-y: auto;
}

.frm-modal-sc #frm_form_12_container,
.frm-modal-sc #frm_form_12_container .frm_forms,
.frm-modal-sc #form_saved-movies-form {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.frm-modal-sc #frm_form_12_container fieldset {
  border: 0;
  margin: 0;
  padding: 0;
  min-width: 0;
}

.frm-modal-sc #frm_form_12_container .frm_form_field {
  margin: 0 0 14px !important;
}

.frm-modal-sc #frm_form_12_container .frm_primary_label {
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #6b7c86;
  margin: 0 0 6px;
  padding: 0;
}

.frm-modal-sc #frm_field_313_container .frm_primary_label {
  display: none !important;
}

.frm-modal-sc #frm_field_313_container .frm_checkbox {
  margin: 0;
}

.frm-modal-sc #frm_field_313_container .frm_checkbox label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 8px 12px;
  border: 1px solid #d5dde2;
  border-radius: 8px;
  font-size: 0.95rem;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
  color: #2A4657;
  cursor: pointer;
  user-select: none;
}

.frm-modal-sc #frm_field_313_container .frm_checkbox label:has(input:checked) {
  background: #2A4657;
  border-color: #2A4657;
  color: #fff;
}

.frm-modal-sc #frm_field_313_container .frm_checkbox input,
.frm-modal-sc #frm_field_350_container .frm_checkbox input {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  pointer-events: none;
}

.frm-modal-sc #frm_form_12_container textarea.form-control {
  width: 100%;
  min-height: 72px;
  max-height: 120px;
  padding: 10px 12px;
  border: 1px solid #d5dde2;
  border-radius: 8px;
  color: #2A4657;
  font-size: 0.95rem;
  line-height: 1.45;
  resize: vertical;
  box-shadow: none;
}

.frm-modal-sc #frm_form_12_container textarea.form-control:focus {
  border-color: #F4C15A;
  box-shadow: 0 0 0 2px rgba(244, 193, 90, 0.25);
  outline: none;
}

.frm-modal-sc #frm_field_316_container .frm-star-group {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  float: none;
}

.frm-modal-sc #frm_field_316_container .frm-star-group > div {
  display: none;
}

.frm-modal-sc #frm_field_316_container .frm-star-group input {
  opacity: 0 !important;
  position: absolute !important;
}

.frm-modal-sc #frm_field_316_container .frm-star-group .frmsvg {
  width: 26px;
  height: 26px;
}

.frm-modal-sc #frm_field_316_container .frm-star-group .star-rating .frmsvg:first-of-type path {
  fill: #c5d0d6;
}

.frm-modal-sc #frm_field_316_container .frm-star-group .star-rating-on .frmsvg:last-of-type path,
.frm-modal-sc #frm_field_316_container .frm-star-group .star-rating-hover .frmsvg:last-of-type path {
  fill: #C98C28;
}

.frm-modal-sc #frm_field_350_container .frm_opt_container {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.frm-modal-sc #frm_field_350_container .frm_checkbox {
  margin: 0;
  width: auto;
  float: none;
}

.frm-modal-sc #frm_field_350_container .frm_checkbox label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 7px 12px;
  border: 1px solid #d5dde2;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  color: #2A4657;
  cursor: pointer;
  user-select: none;
}

.frm-modal-sc #frm_field_350_container .frm_checkbox label:has(input:checked) {
  background: #2A4657;
  border-color: #2A4657;
  color: #fff;
}

.frm-modal-sc #frm_field_350_container .frm_other_input {
  display: none !important;
}

.frm-modal-sc #frm_field_350_container .frm_checkbox:has(input[value="Other"]:checked) {
  flex: 1 1 100%;
}

.frm-modal-sc #frm_field_350_container .frm_checkbox:has(input[value="Other"]:checked) .frm_other_input {
  display: block !important;
  width: 100%;
  margin-top: 8px;
  border: 1px solid #d5dde2;
  border-radius: 8px;
  padding: 8px 10px;
}

.frm-modal-sc #frm_field_289_container {
  margin: 6px 0 0 !important;
}

.frm-modal-sc #frm_form_12_container .frm_submit.frm_flex {
  width: 100% !important;
  justify-content: flex-start !important;
  margin: 0 !important;
  padding: 0 !important;
}

.frm-modal-sc #frm_form_12_container .frm_button_submit {
  width: auto !important;
  min-width: 160px;
  height: auto !important;
  padding: 10px 22px !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  border-radius: 999px !important;
}

.frm-modal-sc #frm_field_352_container,
.frm-modal-sc .akismet-fields-container {
  display: none !important;
}

/* ============================================================
   CUSTOM LIBRARY JOURNAL MODAL
============================================================ */
#abh-library-journal-modal.abh-confirm {
  align-items: center;
  overflow: hidden;
  padding: 12px 12px max(12px, env(safe-area-inset-bottom, 0px));
  background: rgba(20, 34, 44, 0.58);
}

#abh-library-journal-modal .abh-journal-card {
  max-width: 420px;
  width: 100%;
  max-height: calc(100vh - 24px);
  max-height: calc(100dvh - 24px);
  max-height: calc(100svh - 24px);
  margin: auto;
  padding: 20px 18px 12px;
  border-radius: 18px;
  border: 1px solid rgba(42, 70, 87, 0.08);
  box-shadow: 0 28px 70px rgba(16, 32, 42, 0.32);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #fff;
}

#abh-library-journal-modal .abh-journal-card h2 {
  flex: 0 0 auto;
  margin: 0 0 16px;
  padding: 0 28px 0 0;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: #2A4657;
}

#abh-library-journal-modal .abh-confirm-close {
  top: 14px;
  right: 14px;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  color: #6b7c86;
  background: #f3f6f8;
  font-size: 1.25rem;
  line-height: 1;
}

#abh-library-journal-modal .abh-confirm-close:hover,
#abh-library-journal-modal .abh-confirm-close:focus {
  color: #2A4657;
  background: #e8eef2;
}

#abh-library-journal-modal .abh-library-journal {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  padding-right: 0;
  padding-bottom: 0;
}

#abh-library-journal-modal .abh-library-journal-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-right: 2px;
  padding-bottom: 4px;
}

#abh-library-journal-modal .abh-library-journal > button.frm_submit,
#abh-library-journal-modal .abh-library-journal > button[type="submit"] {
  position: static;
  flex: 0 0 auto;
  z-index: 2;
  width: 100%;
  margin: 0;
  padding: 12px 18px !important;
  border: 2px solid #B67818 !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, #F4C15A 0%, #D48B1F 100%) !important;
  color: #2A4657 !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em;
  box-shadow: none;
}

#abh-library-journal-modal .abh-library-journal > button.frm_submit,
#abh-library-journal-modal .abh-library-journal > button[type="submit"] {
  transition: background 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

.abh-library-watched {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  margin: 0;
  padding: 7px 12px;
  border: 1px solid #d5dde2;
  border-radius: 999px;
  font-size: 0.88rem;
  font-weight: 650;
  color: #2A4657;
  cursor: pointer;
  user-select: none;
  background: #fff;
}

.abh-library-journal.is-watched .abh-library-watched,
.abh-library-watched:has(input:checked) {
  background: #2A4657;
  border-color: #2A4657;
  color: #fff;
}

.abh-library-watched input {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  pointer-events: none;
}

.abh-library-watched-fields[hidden] {
  display: none !important;
}

.abh-library-watched-fields {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.abh-library-viewings {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.abh-library-viewings-head {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #7a8b95;
}

.abh-library-viewings-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.abh-library-viewing {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) 28px;
  grid-template-areas:
    "date-label format-label remove"
    "date-input format-input remove"
    "note-label note-label note-label"
    "note-input note-input note-input";
  column-gap: 12px;
  row-gap: 4px;
  align-items: center;
  padding: 10px 10px 10px 12px;
  border: 1px solid #e2e8ec;
  border-radius: 12px;
  background: #fbfcfd;
  float: none !important;
  width: 100% !important;
  max-width: none !important;
}

.abh-library-viewing > * {
  float: none !important;
  clear: none !important;
  max-width: none !important;
}

.abh-library-viewing-date-label {
  grid-area: date-label;
}

.abh-library-viewing-format-label {
  grid-area: format-label;
}

.abh-library-viewing-note-label {
  grid-area: note-label;
}

.abh-library-viewing-spacer {
  display: none;
}

.abh-library-viewing-date-label,
.abh-library-viewing-format-label,
.abh-library-viewing-note-label {
  display: block;
  width: 100% !important;
  margin: 0;
  padding: 0;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #7a8b95;
  line-height: 1.2;
}

.abh-library-viewing-date-input {
  grid-area: date-input;
  display: flex !important;
  gap: 6px;
  align-items: stretch;
  min-width: 0;
  width: 100% !important;
  min-height: 0;
  margin: 0 !important;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.abh-library-viewing-date-input select {
  flex: 1 1 0;
  min-width: 0;
  width: auto !important;
  min-height: 38px;
  margin: 0 !important;
  padding: 6px 4px;
  border: 1px solid #d7e0e6;
  border-radius: 8px;
  font-size: 0.82rem;
  font-weight: 500;
  color: #2A4657;
  background: #fff;
}

.abh-library-viewing-date-input select:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  background: #f3f6f8;
}

.abh-library-viewing-format-input {
  grid-area: format-input;
}

.abh-library-viewing-note-input {
  grid-area: note-input;
}

.abh-library-viewing-format-input,
.abh-library-viewing-note-input,
.abh-library-viewing .abh-library-other-input {
  display: block !important;
  width: 100% !important;
  min-width: 0;
  min-height: 38px;
  margin: 0 !important;
  padding: 7px 10px;
  border: 1px solid #d7e0e6;
  border-radius: 8px;
  font-size: 0.92rem;
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
  color: #2A4657;
  background: #fff;
  box-shadow: none;
}

.abh-library-viewing-date-input select:focus,
.abh-library-viewing-format-input:focus,
.abh-library-viewing-note-input:focus,
.abh-library-viewing .abh-library-other-input:focus {
  outline: none;
  border-color: #2A4657;
  box-shadow: 0 0 0 3px rgba(42, 70, 87, 0.12);
}

.abh-library-viewing .abh-library-other-input {
  grid-area: other;
  margin-top: 4px !important;
}

.abh-library-viewing .abh-library-other-input[hidden] {
  display: none !important;
}

.abh-library-viewing-remove {
  grid-area: remove;
  appearance: none;
  -webkit-appearance: none;
  align-self: center;
  justify-self: end;
  width: 28px;
  height: 28px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #8a9aa4;
  font-size: 1.35rem;
  font-weight: 400;
  line-height: 1;
  cursor: pointer;
  text-decoration: none;
}

.abh-library-viewing-remove:hover,
.abh-library-viewing-remove:focus {
  color: #2A4657;
  background: #eef3f6;
}

.abh-library-viewing-add {
  appearance: none;
  -webkit-appearance: none;
  align-self: flex-start;
  margin: 2px 0 0;
  padding: 7px 0;
  border: 0;
  background: transparent;
  color: #2A4657;
  font-size: 0.88rem;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
}

.abh-library-viewing-add:hover,
.abh-library-viewing-add:focus {
  color: #1f3442;
  text-decoration: underline;
}

.abh-library-viewing-add:disabled,
.abh-library-viewing-add[aria-disabled="true"] {
  opacity: 0.4;
  cursor: not-allowed;
  text-decoration: none;
}

.abh-library-viewing-add::before {
  content: "+";
  display: inline-block;
  margin-right: 6px;
  font-weight: 700;
}

.journal-viewings {
  margin: 0.75rem 0 1rem;
}

.journal-viewings strong {
  display: block;
  margin-bottom: 8px;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #6b7c86;
}

.journal-viewings-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.journal-viewings-list li,
.journal-viewing {
  margin: 0;
  padding: 0.55rem 0.75rem;
  border: 1px solid #e2e8ec;
  border-radius: 10px;
  background: #f7fafb;
  color: #2A4657;
  font-size: 0.95rem;
  line-height: 1.35;
}

.journal-viewing-meta {
  font-weight: 600;
  color: #2A4657;
}

.journal-viewing-note {
  margin: 0.15rem 0 0;
  font-weight: 500;
  color: #5c6f7c;
  font-size: 0.92rem;
}

.journal-viewing-meta + .journal-viewing-note {
  margin-top: 0.25rem;
}

@media (max-width: 560px) {
  .abh-library-viewing {
    grid-template-columns: 1fr 28px;
    grid-template-areas:
      "date-label remove"
      "date-input date-input"
      "format-label format-label"
      "format-input format-input"
      "note-label note-label"
      "note-input note-input";
  }
}

.abh-library-rating,
.abh-library-formats {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  border: 0;
  margin: 0;
  padding: 0;
  min-width: 0;
}

.abh-library-rating legend,
.abh-library-formats legend,
.abh-library-notes {
  display: block;
  width: 100%;
  margin: 0 0 6px;
  padding: 0;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #6b7c86;
}

.abh-library-stars {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 2px;
  line-height: 0;
}

#abh-library-journal-modal .abh-library-star,
.abh-library-star {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  min-width: 22px;
  min-height: 22px;
  max-width: 22px;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none;
  line-height: 0;
  color: inherit;
  cursor: pointer;
}

#abh-library-journal-modal .abh-library-star:hover,
.abh-library-star:hover {
  background: transparent !important;
}

.abh-library-star svg {
  width: 22px;
  height: 22px;
  display: block;
  flex: 0 0 22px;
  overflow: visible;
}

.abh-library-star svg path {
  fill: #d5dde2;
}

.abh-library-star.is-on svg path,
.abh-library-star.is-hover svg path {
  fill: #C98C28;
}

.abh-library-star:focus-visible {
  outline: 2px solid #C98C28;
  outline-offset: 2px;
  border-radius: 2px;
}

#abh-library-journal-modal .abh-library-rating-clear,
.abh-library-rating-clear {
  appearance: none;
  -webkit-appearance: none;
  background: transparent !important;
  border: 0;
  box-shadow: none;
  padding: 0;
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  color: #6b7c86;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.abh-library-rating-clear:hover,
.abh-library-rating-clear:focus-visible {
  color: #2A4657;
  background: transparent !important;
}

.abh-library-rating-clear[hidden] {
  display: none !important;
}

.abh-library-formats label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 7px 12px;
  border: 1px solid #d5dde2;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
  color: #2A4657;
  cursor: pointer;
  user-select: none;
}

.abh-library-formats label:has(input:checked) {
  background: #2A4657;
  border-color: #2A4657;
  color: #fff;
}

.abh-library-formats input[type="checkbox"],
.abh-library-formats input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  pointer-events: none;
}

.abh-library-format-other {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.abh-library-format-other:has(input[value="Other"]:checked) {
  flex: 1 1 100%;
}

.abh-library-other-input {
  display: none;
  width: 100%;
  margin: 0;
  padding: 8px 10px;
  border: 1px solid #d5dde2;
  border-radius: 8px;
  color: #2A4657;
  font-size: 0.95rem;
  line-height: 1.45;
  box-shadow: none;
}

.abh-library-format-other:has(input[value="Other"]:checked) .abh-library-other-input {
  display: block;
}

.abh-library-other-input:focus {
  border-color: #F4C15A;
  box-shadow: 0 0 0 2px rgba(244, 193, 90, 0.25);
  outline: none;
}

.abh-library-notes textarea {
  display: block;
  width: 100%;
  min-height: 72px;
  max-height: 120px;
  margin-top: 6px;
  padding: 10px 12px;
  border: 1px solid #d5dde2;
  border-radius: 8px;
  color: #2A4657;
  font-size: 0.95rem;
  line-height: 1.45;
  resize: vertical;
  box-shadow: none;
}

.abh-library-notes textarea:focus {
  border-color: #F4C15A;
  box-shadow: 0 0 0 2px rgba(244, 193, 90, 0.25);
  outline: none;
}

#abh-library-journal-modal .frm_submit.button {
  width: 100% !important;
  min-width: 0;
  height: auto !important;
  padding: 12px 18px !important;
  font-size: 0.95rem !important;
  line-height: 1.2 !important;
  border-radius: 999px !important;
}

/* ============================================================
   FORMIDABLE VIEW TOOLBAR
============================================================ */
.controls-bar {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
  position: relative;
  width: 100%;
  margin: 0 0 20px;
  min-height: 40px;
  gap: 12px;
}

.library-toolbar-modes {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  flex: 0 0 auto;
  padding-right: 12px;
  margin-right: 2px;
  border-right: 1px solid #e2e8ec;
}

.controls-bar-viewings .library-toolbar-modes {
  padding-right: 12px;
}

.library-view-toggle {
  display: inline-flex;
  align-items: stretch;
  gap: 0;
  border: 0;
  border-radius: 0;
  overflow: visible;
  background: transparent;
  flex: 0 0 auto;
  height: 40px;
  box-shadow: inset 0 -2px 0 #e7eef2;
}

.library-view-opt {
  display: inline-flex;
  align-items: center;
  padding: 0 0.85rem;
  height: 100%;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  color: #7a8b95;
  line-height: 1.2;
  border-bottom: 2px solid transparent;
  box-sizing: border-box;
}

.library-view-opt:hover,
.library-view-opt:focus {
  color: #2a4657;
  text-decoration: none;
}

.library-view-opt.is-active {
  background: transparent;
  color: #2a4657;
  border-bottom-color: #d48b1f;
}

.library-view-opt.is-active:hover,
.library-view-opt.is-active:focus {
  color: #2a4657;
}

.abh-library-viewings-table-wrap {
  width: 100%;
  overflow-x: auto;
  margin: 0;
  padding: 0;
}

.abh-library-viewings-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 0.98rem;
  color: #304657;
}

.abh-library-viewings-table th {
  text-align: left;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #5c6f7c;
  padding: 0.55rem 0.5rem;
  border-bottom: 2px solid #d7e0e6;
}

.abh-library-viewings-table td {
  padding: 0.7rem 0.5rem;
  border-bottom: 1px solid #e7eef2;
  vertical-align: middle;
  word-wrap: break-word;
}

.abh-library-viewings-table tbody tr:hover {
  background: #f7fafb;
}

.abh-library-viewings-table tr.abh-viewings-divider,
.abh-library-viewings-table tr.abh-viewings-divider:hover {
  background: transparent;
}

.abh-library-viewings-table tr.abh-viewings-divider td {
  padding: 1.1rem 0.5rem 0.45rem;
  border-bottom: 0;
  color: #7a8b95;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.abh-library-viewings-table tr.abh-viewings-divider span {
  display: inline-block;
  padding: 0.15rem 0;
  border-bottom: 1px solid #d7e0e6;
}

.abh-library-viewings-table .abh-viewing-date {
  width: 6.4rem;
  max-width: 6.4rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: clip;
  color: #2a4657;
  font-variant-numeric: tabular-nums;
  font-size: 0.9rem;
  line-height: 1.3;
  box-sizing: border-box;
  padding-left: 0.65rem;
  padding-right: 0.5rem;
}

.abh-library-viewings-table .abh-viewing-format {
  width: 5.75rem;
  max-width: 5.75rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 0.9rem;
  line-height: 1.3;
  box-sizing: border-box;
}

.abh-library-viewings-table .abh-viewing-title {
  width: 34%;
  font-size: 0.9rem;
  line-height: 1.3;
}

.abh-viewing-notes {
  color: #5c6f7c;
  font-size: 0.9rem;
  line-height: 1.3;
}

.abh-viewing-title a {
  color: #2a4657;
  text-decoration: none;
  font-weight: 600;
}

.abh-viewing-title a:hover,
.abh-viewing-title a:focus {
  color: #d48b1f;
}

@media (max-width: 640px) {
  .abh-library-viewings-table thead {
    display: none;
  }

  .abh-library-viewings-table,
  .abh-library-viewings-table tbody,
  .abh-library-viewings-table tr,
  .abh-library-viewings-table td {
    display: block;
    width: 100%;
  }

  .abh-library-viewings-table tr {
    margin: 0 0 0.85rem;
    padding: 0.75rem 0.85rem;
    border: 1px solid #e2e8ec;
    border-radius: 12px;
    background: #fff;
  }

  .abh-library-viewings-table tr.abh-viewings-divider {
    margin: 0 0 0.5rem;
    padding: 0.35rem 0;
    border: 0;
    background: transparent;
    border-radius: 0;
  }

  .abh-library-viewings-table tr.abh-viewings-divider td {
    padding: 0.2rem 0;
  }

  .abh-library-viewings-table tr.abh-viewings-divider td::before {
    display: none;
  }

  .abh-library-viewings-table td {
    padding: 0.2rem 0;
    border: 0;
  }

  .abh-library-viewings-table td::before {
    content: attr(data-label);
    display: block;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #7a8b95;
    margin: 0 0 0.1rem;
  }

  .abh-library-viewings-table .abh-viewing-date,
  .abh-library-viewings-table .abh-viewing-format,
  .abh-library-viewings-table .abh-viewing-title {
    width: auto;
    max-width: none;
    white-space: normal;
    overflow: visible;
    padding-left: 0;
    padding-right: 0;
  }
}

.controls-bar .left-controls,
.controls-bar .right-controls {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
}

.controls-bar .left-controls {
  justify-content: flex-start;
  gap: 10px;
  flex-wrap: wrap;
}

.watch-filter {
  display: none;
  flex: 0 0 auto;
  align-items: stretch;
  height: 40px;
  padding: 3px;
  background: #f4f7f9;
  border: 1px solid #d7e0e6;
  border-radius: 999px;
  box-sizing: border-box;
}

body.logged-in .watch-filter {
  display: inline-flex;
}

.watch-filter-opt {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0 14px;
  border-radius: 999px;
  color: #5c6f7c;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
}

.watch-filter-opt input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}

.watch-filter-opt:hover {
  color: #2A4657;
}

.watch-filter-opt:has(input:checked) {
  background: #2A4657;
  color: #fff;
}

.watch-filter-opt:has(input:checked):hover {
  color: #fff;
}

.watch-filter:focus-within {
  border-color: #2A4657;
  box-shadow: 0 0 0 3px rgba(42, 70, 87, 0.12);
}

.library-back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 20px;
  color: #2A4657;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  line-height: 1;
}

.library-back::before {
  content: "←";
  font-size: 1.1em;
  line-height: 1;
}

.library-back:hover,
.library-back:focus {
  color: #D48B1F;
  text-decoration: none;
}

body:has(.saved-movie-card) .controls-bar {
  display: none !important;
}

.controls-bar .right-controls {
  justify-content: flex-end;
}

.center-controls {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  font-size: 20px;
  pointer-events: none;
  white-space: nowrap;
}

.library-sort {
  position: relative;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  max-width: 100%;
}

.library-sort::after {
  content: "";
  position: absolute;
  right: 14px;
  top: 50%;
  width: 12px;
  height: 12px;
  margin-top: -2px;
  transform: translateY(-50%);
  pointer-events: none;
  z-index: 1;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='white'%3E%3Cpath d='M5 7l5 5 5-5'/%3E%3C/svg%3E") center / 12px 12px no-repeat;
}

#sort-dropdown {
  flex: 0 0 auto;
  display: block;
  box-sizing: border-box !important;
  width: auto !important;
  min-width: 0;
  max-width: 240px;
  background: #2A4657 !important;
  background-image: none !important;
  color: #ffffff !important;
  border: 1px solid #1f3442 !important;
  border-radius: 999px;
  height: 40px;
  padding: 0 2.75rem 0 1rem !important;
  font-size: 14px;
  font-weight: 600;
  line-height: 38px;
  cursor: pointer;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
}

#sort-dropdown::-ms-expand {
  display: none;
}

#sort-dropdown:hover,
#sort-dropdown:focus {
  border-color: #2A4657;
  box-shadow: 0 0 0 3px rgba(42, 70, 87, 0.12);
  outline: none;
}

#sort-dropdown option {
  background-color: #2A4657;
  color: #ffffff;
}

#sort-dropdown option:checked {
  background-color: #1f3442;
  color: #F4C15A;
}

body.logged-in.page-id-7311 .controls-bar .left-controls,
body.logged-in.page-id-9014 .controls-bar .left-controls,
body.logged-in.page-id-9240 .controls-bar .left-controls {
  display: flex !important;
}

.page-id-7311:not(:has(.movie-tile)) .center-controls,
.page-id-9014:not(:has(.movie-tile)) .left-controls,
.page-id-9014:not(:has(.movie-tile)) .right-controls,
.page-id-9014:not(:has(.movie-tile)) .center-controls,
.page-id-9240:not(:has(.movie-tile)) .left-controls,
.page-id-9240:not(:has(.movie-tile)) .right-controls,
.page-id-9240:not(:has(.movie-tile)) .center-controls {
  display: none !important;
}

/* ============================================================
   ARCHIVE / BLOG CARDS
============================================================ */
.archive article,
.blog article,
.search-results article {
  background: #fff;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.12);
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.archive article:hover,
.blog article:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.18);
}

/* Home movie cards: Magazinely only prints entry-title for post_type=post.
   Titles/dates are injected into .entry-content; crop portrait posters to match posts.
   Keep this off .single-movie so the poster-hero and hidden entry-title stay intact. */
.blog main article.type-movie > a img.wp-post-image {
  width: 100%;
  height: 210px;
  object-fit: cover;
  object-position: center 20%;
  display: block;
}

.blog main article.type-movie .entry-header:empty {
  display: none;
}

.blog main article.type-movie .entry-content h2.entry-title {
  font-size: 19px;
  line-height: 150%;
  margin: 0;
  float: none;
  display: block;
  width: 100%;
  font-weight: 900;
  color: #000;
}

.blog main article.type-movie .entry-content .entry-meta,
.blog main article.type-movie .entry-content .entry-meta * {
  color: #b99266;
  font-size: 14px;
  font-family: "Lato", helvetica, "helvetica neue", arial, sans-serif;
  font-style: normal;
  font-weight: bold;
  margin-bottom: 10px;
}

/* ============================================================
   MOVIE GRID + TILE
============================================================ */
.movie-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 22px;
  max-width: none;
  margin: 0;
  padding: 0;
}

.movie-tile {
  display: block;
  position: relative;
  border-radius: 10px;
  background: transparent;
  overflow: hidden;
  box-shadow: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.movie-tile:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.2);
}

.movie-tile .poster-link,
.movie-tile > a {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 2 / 3;
  background: #1f3442;
  border-radius: 10px;
  overflow: hidden;
}

.movie-tile > a img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: cover;
  object-position: center;
  display: block;
}

body:not(.library-entry).page-id-7311 .frm-grid-view,
body:not(.library-entry).page-id-9014 .frm-grid-view,
body:not(.library-entry).page-id-9240 .frm-grid-view {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)) !important;
  gap: 16px !important;
  --v-tl-padding: 0px;
  --v-tl-border-style: none;
  --v-tl-border-thickness: 0;
  --v-tl-background-color: transparent;
  --v-tl-grid-column: auto;
}

body:not(.library-entry).page-id-7311 .frm-grid-view > div,
body:not(.library-entry).page-id-9014 .frm-grid-view > div,
body:not(.library-entry).page-id-9240 .frm-grid-view > div,
body:not(.library-entry).page-id-7311 .frm-grid-view .frm_grid_container,
body:not(.library-entry).page-id-9014 .frm-grid-view .frm_grid_container,
body:not(.library-entry).page-id-9240 .frm-grid-view .frm_grid_container,
body:not(.library-entry).page-id-7311 .frm-grid-view .frm12,
body:not(.library-entry).page-id-9014 .frm-grid-view .frm12,
body:not(.library-entry).page-id-9240 .frm-grid-view .frm12 {
  display: contents;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  box-shadow: none !important;
  float: none !important;
  width: auto !important;
  grid-column: auto !important;
}

body.library-entry .frm-grid-view,
body.library-entry .frm-grid-view > div,
body.library-entry .frm-grid-view .frm_grid_container,
body.library-entry .frm-grid-view .frm12 {
  display: block !important;
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  grid-column: auto !important;
  grid-template-columns: none !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* ============================================================
   PUBLIC PROFILE
============================================================ */
body.abh-profile #secondary,
body.abh-profile aside.widget-area,
body.abh-profile #primary ~ #secondary {
  display: none !important;
}

body.abh-profile #primary,
body.abh-profile #primary.large-8,
body.abh-profile #primary.medium-8,
body.abh-profile #primary.content-area,
body.abh-profile .content-area {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  flex-basis: 100% !important;
  float: none !important;
}

.abh-profile-wrap {
  max-width: 1080px;
  margin: 0 auto 32px;
}

.abh-profile-banner,
.abh-profile-saved {
  margin: 0 0 16px;
  padding: 10px 14px;
  background: #f6f1e6;
  border: 1px solid #e4d4b0;
  border-radius: 8px;
  color: #2A4657;
  font-size: 0.95rem;
}

.abh-profile-head {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  margin: 0 0 28px;
}

.abh-profile-avatar img {
  display: block;
  width: 96px;
  height: 96px;
  border-radius: 50%;
  object-fit: cover;
}

.abh-profile-identity {
  flex: 1 1 auto;
  min-width: 0;
}

.abh-profile-name {
  margin: 0 0 6px;
  font-size: 1.7rem;
  line-height: 1.2;
  color: #2A4657;
}

.abh-profile-bio {
  margin: 0 0 10px;
  color: #4a5d68;
  font-size: 1rem;
  line-height: 1.45;
}

.abh-profile-follows {
  margin: 0;
  font-size: 0.9rem;
  font-weight: 600;
  color: #6b7c86;
}

.abh-profile-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin: 12px 0 0;
}

.abh-follow-btn,
.abh-profile-save {
  background: #2A4657;
  color: #fff;
  border: 2px solid #1f3442;
  border-radius: 8px;
  height: 40px;
  padding: 0 16px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
}

.abh-follow-btn:hover,
.abh-profile-save:hover {
  border-color: #F4C15A;
}

.abh-follow-btn.is-following {
  background: #fff;
  color: #2A4657;
}

.abh-profile-movies h2,
.abh-profile-settings h2 {
  margin: 0 0 16px;
  font-size: 1.2rem;
  color: #2A4657;
}

.abh-profile-tile-meta {
  margin-top: 8px;
}

.abh-profile-tile-title {
  display: block;
  font-size: 0.9rem;
  font-weight: 600;
  color: #2A4657;
  line-height: 1.3;
  text-decoration: none;
}

.abh-profile-tile-title:hover {
  color: #D48B1F;
}

.abh-profile-tile .abh-avg-rating {
  margin: 6px 0 0;
}

.abh-profile-tile .abh-avg-stars svg {
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
}

.abh-profile-empty {
  color: #6b7c86;
}

.abh-profile-pages {
  margin: 20px 0 0;
}

.abh-profile-pages .page-numbers {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.abh-profile-settings {
  margin: 28px 0 0;
  padding: 16px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 12px;
  background: #fff;
}

.abh-profile-form {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}

.abh-profile-public-label,
.abh-profile-bio-label {
  display: block;
  font-weight: 600;
  color: #2A4657;
}

.abh-profile-bio-label span,
.abh-profile-hint,
.abh-profile-url {
  font-weight: 400;
  color: #6b7c86;
  font-size: 0.9rem;
}

.abh-profile-settings textarea {
  display: block;
  width: 100%;
  max-width: 520px;
  min-height: 80px;
  margin-top: 6px;
  padding: 8px 10px;
  border: 1px solid #c5d0d6;
  border-radius: 8px;
}

.abh-profile-warn {
  color: #8a4b12;
  font-size: 0.9rem;
  margin: 0;
}

.abh-profile-library-bit {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  align-items: center;
  margin: 0 0 16px;
  padding: 10px 12px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 8px;
  background: #f7f9fa;
  font-size: 0.95rem;
}

.abh-profile-library-bit .abh-profile-form {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 16px;
  width: 100%;
}

.abh-profile-view-link {
  color: #2A4657;
  font-weight: 600;
  text-decoration: none;
}

.abh-profile-view-link:hover {
  color: #D48B1F;
}

/* ============================================================
   MOBILE
============================================================ */
@media (max-width: 768px) {
  body,
  body.logged-in {
    padding-top: 0 !important;
  }

  #wpadminbar {
    position: fixed;
  }

  header#masthead {
    margin-top: 0 !important;
    padding: 5px 0 !important;
  }

  .top-header-wrapper,
  .header-wrapper,
  header#masthead .grid-padding-x {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    width: 100% !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  header#masthead .header-wrapper {
    flex-direction: column !important;
    align-items: center !important;
  }

  .site-branding.header-left-logo,
  .logo-container {
    flex: 0 0 auto !important;
    width: auto !important;
    padding: 0 !important;
    margin: 0 auto !important;
    text-align: center !important;
  }

  a.custom-logo-link {
    display: block !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
  }

  .custom-logo {
    display: block;
    max-height: 100px !important;
    width: auto !important;
    margin: 0 auto;
  }

  .nav-movie-search,
  .header-right-widget-area.nav-movie-search {
    max-width: none !important;
    width: auto !important;
    flex: 1 1 auto !important;
  }

  .nav-movie-search input[type="text"],
  .nav-movie-search input[type="search"] {
    height: 30px !important;
    font-size: 14px !important;
    padding: 0 86px 0 12px !important;
  }

  .nav-movie-search .frm_button_submit,
  .nav-movie-search input[type="submit"],
  .library-search-submit {
    height: 26px !important;
    font-size: 12px !important;
    padding: 0 12px !important;
  }

  .frm_submit.frm_flex {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-direction: row !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .frm_submit.frm_flex button,
  .frm_submit.frm_flex input[type="submit"] {
    width: auto;
    padding: 12px 28px !important;
    margin: 0 auto !important;
    display: block !important;
    text-align: center !important;
    border-radius: 999px !important;
  }

  .movie-page-title {
    font-size: 1.55rem;
  }

  .nav-movie-search .frm_submit.frm_flex {
    width: auto !important;
    margin: 0 !important;
    justify-content: flex-end !important;
  }

  .nav-movie-search .frm_submit.frm_flex button,
  .nav-movie-search .frm_submit.frm_flex input[type="submit"] {
    padding: 0 12px !important;
    margin: 0 !important;
    display: inline-block !important;
    border-radius: 999px !important;
    height: 26px !important;
    line-height: 24px !important;
  }

  .movie-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  body:not(.library-entry).page-id-7311 .frm-grid-view,
  body:not(.library-entry).page-id-9014 .frm-grid-view,
  body:not(.library-entry).page-id-9240 .frm-grid-view {
    grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)) !important;
    gap: 12px !important;
  }

  .saved-movie-card {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 16px 14px;
    border-radius: 16px;
    border: 1px solid rgba(0, 0, 0, 0.05);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
  }

  .saved-movie-poster {
    position: static;
    max-width: 220px;
    margin: 0 auto;
  }

  .abh-justwatch {
    padding: 16px 14px 12px;
    border-radius: 16px;
  }

  .abh-disc-list {
    grid-template-columns: 1fr;
  }

  .abh-disc-form {
    grid-template-columns: 1fr;
  }

  .saved-movie-details .movie-title {
    text-align: left !important;
    margin-top: 0 !important;
  }

  .movie-title {
    text-align: center;
    font-size: 1.4rem;
    margin-top: 12px;
  }

  .movie-credits {
    font-size: 0.9rem;
    line-height: 1.45;
  }

  .controls-bar {
    flex-wrap: wrap;
    justify-content: stretch;
    margin-top: 6px;
    margin-bottom: 12px;
    padding-top: 0;
    border-top: none;
    gap: 10px;
  }

  .library-toolbar-modes {
    flex: 1 1 100%;
    justify-content: space-between;
    padding-right: 0;
    margin-right: 0;
    border-right: 0;
    gap: 10px;
  }

  .library-view-toggle {
    flex: 1 1 auto;
  }

  .library-view-opt {
    flex: 1 1 0;
    justify-content: center;
  }

  .controls-bar .left-controls {
    flex: 1 1 100%;
    justify-content: center;
    padding-top: 4px;
  }

  .controls-bar .center-controls,
  .controls-bar .right-controls {
    display: none !important;
  }

  #sort-dropdown {
    width: 100% !important;
    max-width: none;
    min-width: 0;
    text-align: center;
  }

  .library-sort {
    width: 100%;
    max-width: none;
  }

  .library-search {
    flex: 1 1 100%;
    max-width: none;
  }

  .watch-filter {
    width: auto;
    flex: 1 1 auto;
  }

  .watch-filter-opt {
    flex: 1 1 0;
    padding: 0 8px;
  }

  .movie-page-columns,
  .movie-page-columns--fb-only,
  .movie-page-columns--tmdb-only {
    grid-template-columns: 1fr;
    gap: 24px;
    max-width: none;
  }

  .abh-profile-head {
    flex-direction: column;
    gap: 12px;
  }

  .comment-list .comment-meta,
  .comments-area .comment-meta,
  .comment-list .comment-content,
  .comments-area .comment-content,
  .comment-list .reply,
  .comments-area .reply {
    padding-left: 44px !important;
    margin-left: 0 !important;
  }

  .comment-list .avatar,
  .comments-area img.avatar {
    width: 34px !important;
    height: 34px !important;
  }

  .comment-list .children,
  .comments-area ol.children {
    margin-left: 8px !important;
    padding-left: 8px !important;
  }
}

@media (max-width: 480px) {
  .movie-grid {
    grid-template-columns: 1fr;
  }
}

/* ABH movie comments density */
body.single-movie .about-the-author {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  left: -9999px !important;
}

body.single-movie .movie-page-layout {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

body.single-movie article.post,
body.single-movie .entry-content,
body.single-movie .entry-footer {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

body.single-movie #comments,
body.single-movie .comments-area {
  clear: none !important;
  float: none !important;
  width: 100% !important;
  margin: 4px 0 0 !important;
  padding: 0 !important;
}

body.single-movie #comments .comments-title,
body.single-movie .comments-area .comments-title {
  margin: 0 0 6px !important;
  padding: 10px 0 6px !important;
  font-size: 1.15rem !important;
  line-height: 1.2 !important;
  border-top: 1px solid rgba(42, 70, 87, 0.14) !important;
  border-bottom: 0 !important;
}

body.single-movie .comment-list,
body.single-movie .comments-area ol.comment-list,
body.single-movie .comments-area ol.children {
  display: block !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

body.single-movie .comments-area li,
body.single-movie .comment-list .comment {
  display: block !important;
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.single-movie .comment-list .comment-body,
body.single-movie .comments-area .comment-body {
  padding: 5px 0 4px !important;
  margin: 0 !important;
  overflow: visible !important;
  border-bottom: 1px solid rgba(42, 70, 87, 0.1);
  min-height: 0 !important;
  clear: both !important;
}

body.single-movie .comment-list .comment-meta,
body.single-movie .comments-area .comment-meta {
  display: block !important;
  margin: 0 !important;
  padding: 0 0 0 44px !important;
  min-height: 0 !important;
  line-height: 1.2 !important;
}

body.single-movie .comment-list .comment-author.vcard,
body.single-movie .comments-area .comment-author.vcard {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.single-movie .comment-list .avatar,
body.single-movie .comments-area img.avatar {
  position: absolute !important;
  left: 0 !important;
  top: 5px !important;
  width: 34px !important;
  height: 34px !important;
  margin: 0 !important;
  float: none !important;
}

body.single-movie .comment-list .fn,
body.single-movie .comments-area b.fn {
  display: inline !important;
  font-size: 0.88rem !important;
  margin: 0 6px 0 0 !important;
  padding: 0 !important;
}

body.single-movie .comment-list .comment-metadata,
body.single-movie .comments-area .comment-metadata {
  display: inline !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0.7rem !important;
}

body.single-movie .comment-list .comment-metadata time,
body.single-movie .comments-area .comment-metadata time {
  display: inline !important;
  float: none !important;
  margin: 0 !important;
  font-size: 0.7rem !important;
}

body.single-movie .comment-list .edit-link,
body.single-movie .comments-area .edit-link,
body.single-movie .comments-area a.comment-edit-link {
  display: inline !important;
  position: static !important;
  margin-left: 6px !important;
  font-size: 0.7rem !important;
}

body.single-movie .comment-list .comment-content,
body.single-movie .comments-area .comment-content {
  float: none !important;
  width: auto !important;
  margin: 2px 0 0 44px !important;
  padding: 0 !important;
  font-size: 0.9rem !important;
  line-height: 1.4 !important;
}

body.single-movie .comment-list .comment-content p,
body.single-movie .comments-area .comment-content p {
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

body.single-movie .comment-list .reply,
body.single-movie .comments-area .reply {
  position: static !important;
  margin: 1px 0 0 44px !important;
  padding: 0 !important;
  font-size: 0.75rem !important;
  line-height: 1.2 !important;
}

body.single-movie .comment-list .children,
body.single-movie .comments-area ol.children {
  margin: 0 0 0 14px !important;
  padding: 0 0 0 10px !important;
  border-left: 2px solid rgba(42, 70, 87, 0.12);
}

body.single-movie .comment-respond,
body.single-movie #respond {
  margin-top: 8px !important;
  padding-top: 4px !important;
}

body.single-movie .comments-area .reply,
body.single-movie .comment-list .reply {
  position: static !important;
  top: auto !important;
  right: auto !important;
  float: none !important;
}

body.single-movie .comments-area .comment-content,
body.single-movie .comment-list .comment-content {
  float: none !important;
  clear: both !important;
  width: auto !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.single-movie .comments-area ol.comment-list,
body.single-movie .comments-area ol.children,
body.single-movie .comments-area li {
  float: none !important;
  display: block !important;
  width: 100% !important;
}

body.single-movie #main::after,
body.single-movie .entry-content::after,
body.single-movie .movie-page-layout::after {
  content: "";
  display: table;
  clear: both;
}

/* Magazinely floats every heading; keep Comments in normal flow so the
   list cannot slide up underneath / beside the title. */
body.single-movie #comments .comments-title,
body.single-movie .comments-area .comments-title,
body.single-movie #comments .comment-reply-title {
  float: none !important;
  display: block !important;
  clear: both !important;
  width: 100% !important;
  position: relative !important;
  z-index: 1;
}

body.single-movie .comments-area ol.comment-list {
  float: none !important;
  clear: both !important;
  position: relative !important;
  z-index: 1;
}

/* ============================================================
   BLOG POSTS (regular post type) — readable long-form
   Scoped to body.single-post so movie singles stay untouched.
============================================================ */
body.single-post .post-thumbnail {
  background: #111315;
  margin: 0 !important;
  padding: 0 !important;
}

body.single-post .post-thumbnail img {
  display: block;
  margin: 0 auto;
  max-height: min(420px, 52vh);
  width: auto;
  max-width: 100%;
  object-fit: contain;
}

body.single-post #primary.content-area,
body.single-post .entry-header,
body.single-post .entry-content,
body.single-post .entry-footer,
body.single-post .comments-area {
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

body.single-post .entry-header {
  padding: 1.75rem 1.25rem 0.35rem;
  text-align: left;
}

body.single-post h1.entry-title {
  text-align: left !important;
  color: #2a4657 !important;
  font-size: clamp(1.7rem, 3.6vw, 2.35rem);
  line-height: 1.2;
  letter-spacing: -0.01em;
  margin: 0 0 0.55rem;
  float: none !important;
  width: auto !important;
}

body.single-post .entry-meta,
body.single-post .entry-meta a,
body.single-post .entry-meta * {
  color: #5c6f7c !important;
  font-size: 0.92rem;
  font-weight: 600;
}

body.single-post .entry-content {
  padding: 0.5rem 1.25rem 2.75rem;
  color: #304657;
  font-size: 1.05rem;
  line-height: 1.65;
}

body.single-post .site-content .entry-content,
body.single-post .site-content .entry-content p,
body.single-post .site-content .entry-content li,
body.single-post .site-content .entry-content div,
body.single-post .site-content .entry-content cite {
  color: #304657 !important;
}

body.single-post .entry-content p {
  margin: 0 0 1.15rem;
}

body.single-post .entry-content h2,
body.single-post .entry-content h3,
body.single-post .entry-content h4 {
  color: #2a4657 !important;
  float: none !important;
  clear: both;
  width: auto !important;
  margin: 1.85rem 0 0.7rem;
  line-height: 1.25;
}

body.single-post .entry-content h2 {
  font-size: 1.35rem;
}

body.single-post .entry-content h3 {
  font-size: 1.15rem;
}

body.single-post .entry-content ul,
body.single-post .entry-content ol {
  margin: 0.35rem 0 1.35rem;
  padding-left: 1.35rem;
}

body.single-post .entry-content li {
  margin: 0.45rem 0;
  line-height: 1.5;
  font-size: 1rem;
}

body.single-post .entry-content li + li {
  margin-top: 0.55rem;
}

body.single-post .entry-content hr {
  border: 0;
  border-top: 1px solid #d5dee3;
  margin: 1.85rem 0;
}

body.single-post .entry-content a {
  color: #a5874c;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

body.single-post .entry-content a:hover {
  color: #8f7139;
}

body.single-post .entry-content .wp-block-audio,
body.single-post .entry-content .wp-block-embed,
body.single-post .entry-content figure,
body.single-post .entry-content .wp-block-image {
  margin: 1.5rem 0 1.75rem;
}

body.single-post .entry-footer {
  padding: 0 1.25rem 2rem;
  color: #5c6f7c;
}

body.single-post .about-the-author,
body.single-post .related-posts {
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

