.emce-discovery { clear: both; margin: 32px 0; padding: 24px; border: 1px solid #e2ddd6; background: #f8f6f2; }
.emce-discovery h2 { margin: 0 0 16px; font-size: 1.3em; }
.emce-discovery ul { list-style: none; padding: 0; margin: 0; }
.emce-discovery li { padding: 16px 0; border-bottom: 1px solid #e2ddd6; }
.emce-discovery small { display: block; color: #b92543; margin-bottom: 6px; }
.emce-discovery a { overflow-wrap: anywhere; }
.emce-generated-article {
  --emce-ink: #11111d;
  --emce-accent: #ff4f6d;
  --emce-paper: #f8f6f2;
  color: var(--emce-ink);
}

.emce-disclosure {
  padding: 12px 16px;
  border-left: 3px solid var(--emce-accent);
  background: #f3f1ed;
  color: #555;
  font-size: .86em;
}

body.em-article-body .emce-disclosure { display: none; }

.emce-data-note {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: stretch;
  margin: 18px 0 26px;
  padding: 20px 22px;
  border: 1px solid #e2ddd6;
  background: #fff;
  color: #69646a;
  font-size: 1em;
  line-height: 1.85;
}
.emce-data-note strong { order: 0; margin: 0 !important; color: var(--emce-accent); white-space: normal; font-size: .9em; }
.emce-data-note span { display: block; min-width: 0; margin: 0 !important; overflow-wrap: anywhere; }
/* wpautop can insert br and paragraph wrappers into saved article HTML.
   They must not become empty flex rows or inherit article paragraph margins. */
.emce-generated-article .emce-data-note br { display: none !important; }
.emce-generated-article .emce-data-note p { display: contents !important; margin: 0 !important; padding: 0 !important; }
.emce-generated-article .emce-data-note { height: auto; min-height: 0; justify-content: flex-start; }
/* Existing drafts store the source before the explanation; keep them compatible. */
.emce-data-note span:first-of-type { order: 2; padding-top: 10px; border-top: 1px solid #e2ddd6; font-size: .85em; color: #69646a; }
.emce-data-note span + span { order: 1; padding-left: 0; border-left: 0; color: #252530; }

/* Sidebar enhancement is scoped to the existing Eromikke article theme. */
body.emce-sidebar-ready .em-side-sticky { position: static; }
@media (min-width: 1001px) {
  body.emce-sidebar-ready .em-article-page { overflow: visible; }
  body.emce-sidebar-ready .em-article-sidebar { align-self: stretch; min-width: 0; }
  body.emce-sidebar-ready .emce-sidebar-sticks > .em-side-sticky { position: sticky; top: var(--emce-sidebar-top, 118px); }
  body.emce-sidebar-ready .em-side-search,
  body.emce-sidebar-ready .em-side-posts,
  body.emce-sidebar-ready .em-side-genres { padding-top: 14px; margin-bottom: 22px; }
  body.emce-sidebar-ready .em-side-search h2,
  body.emce-sidebar-ready .em-side-title h2 { font-size: 17px; margin-bottom: 14px; }
  body.emce-sidebar-ready .em-side-posts > a { padding: 11px 0; }
  body.emce-sidebar-ready .em-side-posts > .emce-extra-side-post { display: none; }
  body.emce-sidebar-ready .emce-side-post-title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
}

.emce-lead { font-size: 1.05em; line-height: 2; }

.emce-answer-box {
  margin: 28px 0;
  padding: 20px 22px;
  border: 1px solid #ddd8d0;
  background: var(--emce-paper);
}

.emce-answer-box > strong {
  display: inline-block;
  margin-bottom: 8px;
  color: var(--emce-accent);
  letter-spacing: .08em;
}

.emce-table-wrap { overflow-x: auto; margin: 22px 0 36px; }
.emce-comparison a.emce-comparison-image { display: block; width: 180px; max-width: 100%; margin: 0 0 10px; border: 0; }
.emce-comparison a.emce-comparison-image img { display: block; width: 100%; height: auto; max-height: 130px; object-fit: contain; object-position: left center; }
.emce-comparison a.emce-comparison-image:focus-visible { outline: 2px solid #df3856; outline-offset: 3px; }
.emce-comparison { width: 100%; min-width: 700px; table-layout: fixed; border-collapse: collapse; }
.emce-comparison th:nth-child(1) { width: 36%; }
.emce-comparison th:nth-child(2) { width: 28%; }
.emce-comparison th:nth-child(3) { width: 20%; }
.emce-comparison th:nth-child(4) { width: 16%; }
.emce-comparison th,.emce-comparison td { box-sizing: border-box; vertical-align: top; overflow-wrap: anywhere; word-break: normal; }
.emce-comparison .emce-cast-more { margin-top: 8px; }
.emce-comparison .emce-cast-more summary { color: #d83650; cursor: pointer; font-weight: 700; }
.emce-comparison .emce-cast-more p { margin: 8px 0 0; font-size: inherit; line-height: inherit; }
.emce-comparison th { background: var(--emce-ink); color: #fff; }
.emce-comparison th,.emce-comparison td { padding: 13px 12px; border: 1px solid #dedad4; text-align: left; }
.emce-comparison a { color: var(--emce-accent); font-weight: 700; }

.emce-product-card {
  position: relative;
  margin: 28px 0;
  padding: 26px;
  border: 1px solid #dedad4;
  background: #fff;
}

.emce-product-number {
  position: absolute;
  top: 0;
  left: 0;
  padding: 6px 12px;
  background: var(--emce-accent);
  color: #fff;
  font-size: .8em;
  font-weight: 800;
}

.emce-product-card h3 { margin-top: 18px; }
.emce-product-grid {
  display: grid !important;
  grid-template-columns: 190px minmax(0,1fr) !important;
  grid-template-areas:
    "image summary"
    "points points"
    "meta meta"
    "cta cta" !important;
  align-items: start !important;
  gap: 22px 28px !important;
  width: 100% !important;
}
.emce-product-image { grid-area: image; grid-column: 1 !important; grid-row: 1 !important; display: block !important; width: 190px !important; max-width: 190px !important; margin: 0 !important; }
.emce-product-image img { width: 190px !important; max-width: 100% !important; height: auto !important; display: block; }
.emce-product-copy { display: contents !important; }
.emce-product-copy > p:first-child { grid-area: summary; grid-column: 2 !important; grid-row: 1 !important; align-self: center; margin: 0 !important; width: auto !important; max-width: none !important; }
.emce-product-copy > ul { grid-area: points; grid-column: 1 / -1 !important; grid-row: 2 !important; margin: 0 !important; padding: 20px 24px 20px 46px !important; width: auto !important; max-width: none !important; border-left: 3px solid var(--emce-accent); background: var(--emce-paper); }
.emce-product-copy > ul li + li { margin-top: 10px; }
.emce-product-copy > dl { grid-area: meta; grid-column: 1 / -1 !important; grid-row: 3 !important; width: auto !important; max-width: none !important; }
.emce-product-copy > .emce-cta,
.emce-product-copy > .emce-cta-wrap,
.emce-product-copy > p:last-child { grid-area: cta; grid-column: 1 / -1 !important; grid-row: 4 !important; position: static !important; inset: auto !important; transform: none !important; width: 100% !important; height: auto !important; margin: 0 !important; }
.emce-product-copy > .emce-cta-wrap > .emce-cta,
.emce-product-copy > p:last-child > .emce-cta { position: static !important; inset: auto !important; transform: none !important; width: 100% !important; height: auto !important; margin: 0 !important; }
.emce-product-grid.has-sample-movie {
  grid-template-areas:
    "image summary"
    "movie movie"
    "points points"
    "meta meta"
    "cta cta" !important;
}
.emce-sample-movie { grid-area: movie; grid-column: 1 / -1 !important; grid-row: 2 !important; margin: 0 !important; width: 100% !important; max-width: none !important; }
.emce-product-grid.has-sample-movie .emce-product-copy > ul { grid-row: 3 !important; }
.emce-product-grid.has-sample-movie .emce-product-copy > dl { grid-row: 4 !important; }
.emce-product-grid.has-sample-movie .emce-product-copy > .emce-cta,
.emce-product-grid.has-sample-movie .emce-product-copy > .emce-cta-wrap,
.emce-product-grid.has-sample-movie .emce-product-copy > p:last-child { grid-row: 5 !important; }
.emce-sample-movie__button {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  padding: 15px 18px;
  border: 1px solid #ffd0d8;
  background: #fff2f4;
  color: var(--emce-ink);
  text-align: left;
  cursor: pointer;
}
.emce-sample-movie__button:hover { border-color: var(--emce-accent); background: #ffe8ed; }
.emce-sample-movie__button strong,.emce-sample-movie__button small { display: block; }
.emce-sample-movie__button strong { font-size: 1em; }
.emce-sample-movie__button small { margin-top: 2px; color: #666; font-size: .78em; }
.emce-sample-movie__play { display: grid; flex: 0 0 40px; width: 40px; height: 40px; place-items: center; border-radius: 50%; background: var(--emce-accent); color: #fff; font-size: 15px; line-height: 1; padding-left: 2px; }
.emce-sample-movie__stage { position: relative; overflow: hidden; width: 100%; aspect-ratio: 4 / 3; background: #000; }
.emce-sample-movie__poster { display: block; width: 100%; height: 100%; object-fit: cover; opacity: .72; filter: saturate(.85); }
.emce-sample-movie__manual { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: 14px; width: 100%; padding: 18px; border: 0; background: linear-gradient(90deg,rgba(17,17,29,.72),rgba(17,17,29,.2)); color: #fff; text-align: left; cursor: pointer; }
.emce-sample-movie__manual strong,.emce-sample-movie__manual small { display: block; }
.emce-sample-movie__manual strong { font-size: 1.02em; }
.emce-sample-movie__manual small { margin-top: 3px; color: rgba(255,255,255,.78); font-size: .78em; }
.emce-sample-movie__frame { display: block; width: 100%; height: 100%; border: 0; background: #000; }
.emce-sample-movie__sound { position: absolute; right: 12px; bottom: 44px; z-index: 2; padding: 8px 11px; border: 0; border-radius: 2px; background: rgba(17,17,29,.84); color: #fff; font-size: 12px; font-weight: 800; cursor: pointer; }
.emce-meta { margin: 18px 0; font-size: .9em; }
.emce-meta div { display: grid; grid-template-columns: 76px 1fr; padding: 7px 0; border-bottom: 1px solid #eee; }
.emce-meta dt { font-weight: 700; }
.emce-meta dd { margin: 0; }

.emce-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 15px 18px;
  background: var(--emce-ink);
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 800;
}
.emce-cta:hover { background: var(--emce-accent); }

.emce-faq details { border-top: 1px solid #dedad4; }
.emce-faq details:last-child { border-bottom: 1px solid #dedad4; }
.emce-faq summary { padding: 18px 6px; cursor: pointer; font-weight: 800; }
.emce-faq details p { padding: 0 6px 18px; }
.emce-final-cta { margin: 38px 0 18px; padding: 24px; background: var(--emce-paper); }

.emce-related {
  --emce-related-ink: #11111d;
  --emce-related-accent: #ff4f6d;
  clear: both;
  margin: 54px 0 20px;
  padding: 30px;
  border-top: 4px solid var(--emce-related-accent);
  background: #f8f6f2;
}
.emce-related__head { margin-bottom: 20px; }
.emce-related__head > small { color: var(--emce-related-accent); font: 800 10px/1.2 Arial,sans-serif; letter-spacing: .18em; }
.emce-related__head h2 { margin: 8px 0 6px !important; padding: 0 !important; border: 0 !important; background: transparent !important; color: var(--emce-related-ink) !important; font-size: 26px !important; line-height: 1.3 !important; }
.emce-related__head p { margin: 0; color: #69646a; font-size: .88em; }
.emce-related__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.emce-related__card { display: block; min-height: 112px; overflow: hidden; border: 1px solid #e1dcd5; background: #fff; color: var(--emce-related-ink) !important; text-decoration: none !important; transition: transform .18s ease,border-color .18s ease; }
.emce-related__card.has-image { display: grid; grid-template-columns: 112px minmax(0,1fr); }
.emce-related__card:hover { transform: translateY(-2px); border-color: var(--emce-related-accent); }
.emce-related__card > img { width: 112px !important; height: 100% !important; min-height: 112px; object-fit: contain; background: #eeeae5; }
.emce-related__copy { display: flex; min-width: 0; padding: 14px; flex-direction: column; align-items: flex-start; }
.emce-related__copy small { margin-bottom: 6px; color: var(--emce-related-accent); font-size: 10px; font-weight: 800; }
.emce-related__copy strong { display: -webkit-box; overflow: hidden; color: var(--emce-related-ink); font-size: 14px; line-height: 1.6; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.emce-related__copy > span { margin-top: auto; padding-top: 8px; color: #777; font-size: 10px; font-weight: 700; }

.em-article-cover.emce-actress-hero { display: flex; flex-direction: column; height: auto !important; min-width: 0; background: #f0ede8; }
.em-article-cover.emce-actress-hero > img { position: static; display: block; width: 100%; height: auto !important; max-height: 360px; object-fit: contain; object-position: center; }
.em-article-cover.emce-actress-hero > .emce-actress-badge { position: static; box-sizing: border-box; width: 100%; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; padding: 15px 17px; background: #181824; color: #fff; }
.emce-actress-badge small { color: #ff647d; font: 800 9px/1 Arial,sans-serif; letter-spacing: .16em; }
.emce-actress-badge strong { min-width: 0; overflow-wrap: anywhere; font-size: 20px; line-height: 1.5; }

/* Isolate the table of contents from the theme's decorated article lists.
   Do not override display: the existing expand/collapse control owns it. */
.em-article-content .toc { box-sizing: border-box; width: 100%; max-width: 100%; margin: 28px 0; padding: 20px 24px; border: 1px solid #dedbd5; background: #faf9f6; text-align: left; }
.em-article-content .toc .toc-title { margin: 0 0 12px; padding: 0; text-align: left; font-weight: 700; }
.em-article-content .toc :is(ol, ul) { box-sizing: border-box; margin: 0 !important; padding: 0 0 0 1.7em !important; border: 0 !important; background: transparent !important; list-style-position: outside; }
.em-article-content .toc ol { list-style-type: decimal; }
.em-article-content .toc ul { list-style-type: disc; }
.em-article-content .toc li { margin: 0; padding: 5px 0; line-height: 1.75; overflow-wrap: anywhere; }
.em-article-content .toc li > :is(ol, ul) { margin-top: 6px !important; }
.em-article-content .toc li::marker { color: #777; font-size: .9em; }
.em-article-content .toc a { color: #252530; border-bottom: 0; text-decoration: none; }
.em-article-content .toc a:hover { color: #df3856; text-decoration: underline; }
.em-article-content .toc a:focus-visible { outline: 2px solid #df3856; outline-offset: 3px; }
@media (max-width: 640px) {
  .em-article-content .toc { padding: 18px 16px; font-size: 14px; }
  .em-article-cover.emce-actress-hero > img { max-height: 300px; }
}

@media (max-width: 1000px) {
  .emce-product-grid { display: block !important; }
  .emce-product-copy { display: block !important; }
  .emce-product-image { width: auto !important; max-width: 320px !important; margin: 0 auto 24px !important; }
  .emce-product-image img { width: 100% !important; }
  .emce-product-copy > p:first-child { margin-bottom: 20px !important; }
  .emce-product-copy > p:last-child { margin: 0 !important; }
  .emce-product-copy > ul { margin-bottom: 20px !important; }
  .emce-sample-movie { margin: 0 0 20px !important; }
  .emce-sample-movie__sound { right: 8px; bottom: 40px; }
}

@media (max-width: 640px) {
  .emce-product-card { padding: 22px 18px; }
  .emce-product-grid { display: block !important; }
  .emce-product-image { width: auto !important; max-width: 280px !important; margin: 0 auto 22px !important; }
  .emce-product-image img { width: 100% !important; }
  .emce-actress-badge { right: 14px; bottom: 14px; left: 14px; padding: 12px 14px; }
  .emce-actress-badge strong { font-size: 17px; }
  .emce-data-note { padding: 18px 16px; }
  .emce-related { margin-top: 42px; padding: 22px 18px; }
  .emce-related__grid { grid-template-columns: 1fr; }
  .emce-related__card { min-height: 100px; }
  .emce-related__card.has-image { grid-template-columns: 96px minmax(0,1fr); }
  .emce-related__card > img { width: 96px !important; min-height: 100px; }
}
