/* OFI Modern Comments — F2 premium design. Isolated, dependency-free, and theme-independent. */
.ofi-mc {
  --ofi-mc-ink: #173247;
  --ofi-mc-muted: #5d7081;
  --ofi-mc-border: #e5eaf0;
  --ofi-mc-teal: #08786d;
  --ofi-mc-teal-ink: #065e56;
  --ofi-mc-purple: #6237bc;
  --ofi-mc-shadow: 0 7px 28px rgba(26, 46, 73, .055);
  box-sizing: border-box;
  width: 100%;
  max-width: 960px;
  margin: 54px auto 60px;
  padding: 0 18px;
  color: var(--ofi-mc-ink);
  font-family: inherit;
  font-size: 16px;
  line-height: 1.6;
  text-align: start;
  overflow-wrap: break-word;
}
.ofi-mc *, .ofi-mc *::before, .ofi-mc *::after { box-sizing: border-box; }
.ofi-mc .ofi-mc-icon { display: inline-block; width: 19px; height: 19px; flex: none; vertical-align: middle; }
.ofi-mc :is(a, button, input, textarea, select):focus-visible { outline: 3px solid #69b4ed; outline-offset: 3px; }
.ofi-mc :is(a, button) { -webkit-tap-highlight-color: transparent; }
.ofi-mc a { text-decoration: none; }
.ofi-mc .ofi-mc-preview-note {
  margin: 0 0 20px; padding: 9px 14px; border: 1px solid #a8ddd5;
  background: #f1fcf8; color: #146457; border-radius: 8px;
  font-size: 13px; line-height: 1.5;
}
/* Editorial heading */
.ofi-mc .ofi-mc-heading {
  display: flex; align-items: center; justify-content: space-between;
  gap: 22px; margin: 0 0 27px; padding: 0 0 22px;
  border-bottom: 1px solid var(--ofi-mc-border);
}
.ofi-mc .ofi-mc-heading-main { flex: 1 1 auto; min-width: 0; }
.ofi-mc .ofi-mc-eyebrow {
  display: flex; align-items: center; gap: 7px;
  margin: 0 0 7px; padding: 0; text-transform: uppercase;
  letter-spacing: .13em; font-size: 11px; line-height: 1.6;
  font-weight: 800; color: var(--ofi-mc-teal-ink);
}
.ofi-mc .ofi-mc-heading-dot { width: 7px; height: 7px; border-radius: 50%; background: #14a995; }
.ofi-mc .ofi-mc-heading h2 {
  margin: 0 0 9px; padding: 0; color: var(--ofi-mc-ink); font-size: clamp(25px,3.4vw,36px);
  font-weight: 800; letter-spacing: -.035em; line-height: 1.17; border: 0;
}
.ofi-mc .ofi-mc-intro {
  margin: 0; padding: 0; max-width: 570px;
  font-size: 14px; line-height: 1.75; color: var(--ofi-mc-muted);
}
.ofi-mc .ofi-mc-write-button {
  display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center;
  gap: 9px; padding: 12px 18px; border-radius: 10px;
  color: #fff; background: var(--ofi-mc-teal); border: 1px solid var(--ofi-mc-teal);
  font-size: 13px; font-weight: 750; line-height: 1.35;
  box-shadow: 0 6px 18px rgba(9, 120, 108, .18);
  transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease;
  text-align: center;
}
.ofi-mc .ofi-mc-write-button:visited { color: #fff; }
.ofi-mc .ofi-mc-write-button:hover {
  background: #075e56; color: #fff;
  box-shadow: 0 9px 20px rgba(9, 120, 108, .22); transform: translateY(-1px);
}
.ofi-mc .ofi-mc-write-button .ofi-mc-icon { width: 17px; height: 17px; }
/* Thread cards */
.ofi-mc .ofi-mc-list, .ofi-mc .ofi-mc-list ol, .ofi-mc .ofi-mc-list .children {
  margin: 0; padding: 0; list-style: none; list-style-type: none;
}
.ofi-mc .ofi-mc-list { display: block; }
.ofi-mc .ofi-mc-list > .ofi-mc-item { margin: 0 0 17px; }
.ofi-mc .ofi-mc-list .children {
  position: relative; margin: 12px 0 0 clamp(20px, 5.7vw, 55px);
  padding: 0 0 0 23px; border-inline-start: 2px solid #d8ebe8;
}
.ofi-mc .ofi-mc-list .children > .ofi-mc-item { margin: 0 0 12px; }
.ofi-mc .ofi-mc-list .children > .ofi-mc-item:last-child { margin-bottom: 0; }
.ofi-mc .ofi-mc-list .children > .ofi-mc-item::before {
  content: ''; position: absolute; inset-inline-start: -2px;
  margin-top: 29px; width: 17px; border-top: 2px solid #d8ebe8;
}
.ofi-mc .ofi-mc-card {
  display: grid; grid-template-columns: 52px minmax(0, 1fr);
  gap: 0 16px; align-items: start; width: 100%; min-width: 0;
  margin: 0; padding: 22px 23px; border: 1px solid var(--ofi-mc-border);
  border-radius: 15px; background: #fff; box-shadow: var(--ofi-mc-shadow);
  color: var(--ofi-mc-ink); text-align: start;
}
.ofi-mc .ofi-mc-item--author > .ofi-mc-card {
  background: #f2faf8; border-color: #d2eae5;
  box-shadow: 0 6px 24px rgba(9, 110, 103, .045);
}
.ofi-mc .ofi-mc-avatar { width: 52px; height: 52px; align-self: start; }
.ofi-mc .ofi-mc-avatar img {
  display: block; width: 52px; height: 52px; max-width: 100%; object-fit: cover;
  border-radius: 50%; background-color: #e9eff2; border: 2px solid #fff;
  box-shadow: 0 1px 6px rgba(30, 52, 71, .1);
}
.ofi-mc .ofi-mc-avatar-fallback {
  display: grid; width: 52px; height: 52px; place-items: center;
  border-radius: 50%; background: #e9eff2; color: #586b7d;
}
.ofi-mc .ofi-mc-avatar-fallback .ofi-mc-icon { width: 25px; height: 25px; }
.ofi-mc .ofi-mc-content { min-width: 0; max-width: 100%; }
.ofi-mc .ofi-mc-meta {
  display: flex; flex-wrap: wrap; align-items: baseline;
  justify-content: space-between; gap: 3px 14px;
  min-height: 29px; margin: 0 0 7px;
}
.ofi-mc .ofi-mc-identity { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.ofi-mc .ofi-mc-author { font-size: 15px; color: var(--ofi-mc-ink); font-weight: 800; line-height: 1.5; }
.ofi-mc .ofi-mc-badge {
  display: inline-flex; align-items: center; border: 1px solid #a9dcd0;
  border-radius: 999px; background: #d5f1e9; color: #085e53;
  padding: 2px 9px; font-size: 11px; font-weight: 800; line-height: 1.4;
}
.ofi-mc .ofi-mc-time, .ofi-mc .ofi-mc-time:visited {
  font-size: 12px; font-weight: 500; color: #5d7081; line-height: 1.5;
}
.ofi-mc .ofi-mc-time:hover { color: var(--ofi-mc-teal-ink); text-decoration: underline; text-underline-offset: 3px; }
.ofi-mc .ofi-mc-text {
  margin: 4px 0 0; padding: 0;
  font-size: 14px; line-height: 1.8; color: #385169;
}
.ofi-mc .ofi-mc-text p { margin: 0 0 10px; padding: 0; }
.ofi-mc .ofi-mc-text p:last-child { margin-bottom: 0; }
.ofi-mc .ofi-mc-text :is(ul, ol) { margin: 8px 0 12px 1.4em; padding: 0; list-style: revert; }
.ofi-mc .ofi-mc-text a { color: #126e91; text-decoration: underline; text-underline-offset: 3px; }
.ofi-mc .ofi-mc-actions { display: flex; align-items: center; gap: 12px; margin: 13px 0 0; }
.ofi-mc .ofi-mc-actions .comment-reply-link,
.ofi-mc .ofi-mc-actions .comment-reply-link:visited {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 5px 0; color: var(--ofi-mc-teal-ink);
  font-weight: 750; line-height: 1.4; font-size: 12px;
}
.ofi-mc .ofi-mc-actions .comment-reply-link::before {
  content: ''; display: inline-block; width: 16px; height: 16px; flex: none;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 10 4 15l5 5v-3c7 0 11-3 11-9-2 3-6 5-11 5v-3Z' fill='black'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 10 4 15l5 5v-3c7 0 11-3 11-9-2 3-6 5-11 5v-3Z' fill='black'/%3E%3C/svg%3E") center / contain no-repeat;
}
.ofi-mc .ofi-mc-actions .comment-reply-link:hover { color: #075f56; text-decoration: underline; text-underline-offset: 3px; }
.ofi-mc .ofi-mc-moderation {
  margin: 8px 0; padding: 7px 10px; border: 1px solid #f2d8a0;
  border-radius: 7px; background: #fff9ed; color: #754d0a; font-size: 12px;
}
.ofi-mc .ofi-mc-card--ping { grid-template-columns: minmax(0, 1fr); }
.ofi-mc .ofi-mc-card--ping .ofi-mc-content { grid-column: 1 / -1; }
/* Native comment-reply.js may move #respond INSIDE the selected .ofi-mc-card. */
.ofi-mc .ofi-mc-card > .comment-respond { grid-column: 1 / -1; margin-top: 20px; min-width: 0; }
/* Empty, pagination and closed comments */
.ofi-mc .ofi-mc-empty,
.ofi-mc .ofi-mc-closed {
  padding: 16px 19px; background: #f5f9fb; color: #596e7f;
  border: 1px solid var(--ofi-mc-border); border-radius: 11px; font-size: 14px;
}
.ofi-mc .ofi-mc-pagination { margin: 26px 0 36px; }
.ofi-mc .ofi-mc-pagination:empty { display: none; }
.ofi-mc .ofi-mc-pagination .nav-links { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px; }
.ofi-mc .ofi-mc-pagination :is(.page-numbers, a.page-numbers) {
  display: inline-flex; align-items: center; justify-content: center; min-width: 37px;
  padding: 7px 12px; border: 1px solid #dce6eb; border-radius: 9px;
  background: #fff; color: #496272; font-size: 13px; font-weight: 700;
}
.ofi-mc .ofi-mc-pagination .page-numbers.current { color: #fff; border-color: var(--ofi-mc-teal); background: var(--ofi-mc-teal); }
.ofi-mc .ofi-mc-pagination a.page-numbers:hover { border-color: var(--ofi-mc-teal); color: var(--ofi-mc-teal-ink); }
/* Comment form: retain core comment_form hooks/fields/cookie consent. */
.ofi-mc .ofi-mc-form-shell {
  margin: 38px 0 0; padding: 29px 31px 30px; border: 1px solid #e7e2f5;
  border-radius: 18px; background: linear-gradient(145deg, #f9f7ff, #f7f9ff 68%, #fbfcff);
  box-shadow: 0 8px 35px rgba(77, 55, 137, .045);
}
.ofi-mc .ofi-mc-form-lead { display: flex; align-items: center; gap: 12px; margin: 0 0 9px; }
.ofi-mc .ofi-mc-form-icon {
  display: grid; flex: 0 0 43px; height: 43px; place-items: center;
  border-radius: 13px; background: #eae2ff; color: #6540b7;
}
.ofi-mc .ofi-mc-form-icon .ofi-mc-icon { width: 23px; height: 23px; }
.ofi-mc .ofi-mc-form-lead p { padding: 0; margin: 0; font-size: 13px; line-height: 1.65; color: #66708a; }
.ofi-mc .comment-respond { width: 100%; max-width: 100%; }
.ofi-mc .comment-reply-title {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 9px;
  margin: 0 0 10px; padding: 0; border: 0;
  color: #30254b; font-weight: 800; font-size: 23px; line-height: 1.35;
}
.ofi-mc .comment-reply-title #cancel-comment-reply-link { font-size: 12px; font-weight: 700; color: #6a43af; }
.ofi-mc .comment-reply-title small { font-size: 12px; }
.ofi-mc .ofi-mc-comment-form { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0 15px; margin: 0; }
.ofi-mc .ofi-mc-comment-form > p { margin: 0 0 15px; padding: 0; min-width: 0; }
.ofi-mc .ofi-mc-comment-form > :is(.comment-notes, .must-log-in, .logged-in-as, .comment-form-comment, .comment-form-url, .comment-form-cookies-consent, .form-submit) { grid-column: 1 / -1; }
.ofi-mc .ofi-mc-comment-form > :not(p):not(.comment-form-author):not(.comment-form-email) { grid-column: 1 / -1; }
.ofi-mc .ofi-mc-comment-form :is(label, .required-field-message) { font-weight: 700; font-size: 12px; line-height: 1.5; color: #435267; }
.ofi-mc .ofi-mc-comment-form label { display: block; margin: 0 0 7px; padding: 0; }
.ofi-mc .ofi-mc-comment-form :is(input:not([type="checkbox"]):not([type="submit"]):not([type="hidden"]), textarea, select) {
  display: block; width: 100%; max-width: 100%; min-height: 44px;
  border: 1px solid #d9dfeb; border-radius: 9px;
  padding: 10px 13px; background: #fff; color: #243747;
  font: inherit; font-size: 14px; line-height: 1.5;
  box-shadow: inset 0 1px 2px rgba(25,35,57,.02);
}
.ofi-mc .ofi-mc-comment-form textarea { min-height: 145px; resize: vertical; }
.ofi-mc .ofi-mc-comment-form :is(input,textarea):focus { border-color: #9574e4; }
.ofi-mc .ofi-mc-comment-form .comment-form-cookies-consent { display: flex; align-items: flex-start; gap: 9px; }
.ofi-mc .ofi-mc-comment-form .comment-form-cookies-consent input[type="checkbox"] { margin: 4px 0 0; flex: 0 0 auto; width: 16px; height: 16px; }
.ofi-mc .ofi-mc-comment-form .comment-form-cookies-consent label { display: inline; margin: 0; font-weight: 400; font-size: 12px; line-height: 1.7; }
.ofi-mc .ofi-mc-comment-form .comment-notes,
.ofi-mc .ofi-mc-comment-form .logged-in-as,
.ofi-mc .ofi-mc-comment-form .must-log-in { font-size: 12px; line-height: 1.65; color: #66758b; }
.ofi-mc .ofi-mc-comment-form :is(.comment-notes,.logged-in-as,.must-log-in) a { color: #5933ad; text-decoration: underline; text-underline-offset: 3px; }
.ofi-mc .ofi-mc-comment-form .form-submit { margin: 4px 0 0; display: flex; justify-content: flex-end; }
.ofi-mc .ofi-mc-comment-form .ofi-mc-submit {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  min-height: 44px; max-width: 100%; cursor: pointer;
  padding: 12px 21px; border-radius: 10px; border: 1px solid var(--ofi-mc-purple);
  color: #fff; background: var(--ofi-mc-purple); font-family: inherit;
  font-size: 13px; line-height: 1.35; font-weight: 750; text-transform: none;
  box-shadow: 0 6px 18px rgba(98,55,188,.15);
  transition: background-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.ofi-mc .ofi-mc-comment-form .ofi-mc-submit .ofi-mc-icon { width: 17px; height: 17px; }
.ofi-mc .ofi-mc-comment-form .ofi-mc-submit:hover { background: #492a94; border-color: #492a94; transform: translateY(-1px); }
.ofi-mc .ofi-mc-comment-form .ofi-mc-submit:disabled { cursor: not-allowed; opacity: .6; }
/* WordPress sometimes adds forms through extensions: don't hide their content. */
.ofi-mc .ofi-mc-comment-form :is(.comment-form-author,.comment-form-email) { min-width: 0; }
/* Responsive layout */
@media (max-width: 740px) {
  .ofi-mc { margin: 35px auto 46px; padding: 0 14px; }
  .ofi-mc .ofi-mc-heading { align-items: flex-start; flex-direction: column; gap: 17px; }
  .ofi-mc .ofi-mc-write-button { min-height: 42px; }
  .ofi-mc .ofi-mc-card { padding: 19px; gap: 0 12px; }
  .ofi-mc .ofi-mc-list .children { padding-inline-start: 17px; }
  .ofi-mc .ofi-mc-form-shell { padding: 22px; }
}
@media (max-width: 500px) {
  .ofi-mc { padding: 0 10px; }
  .ofi-mc .ofi-mc-heading h2 { font-size: 27px; }
  .ofi-mc .ofi-mc-card { grid-template-columns: 39px minmax(0,1fr); gap: 0 10px; padding: 15px 12px; border-radius: 12px; }
  .ofi-mc .ofi-mc-avatar, .ofi-mc .ofi-mc-avatar img, .ofi-mc .ofi-mc-avatar-fallback { width: 39px; height: 39px; }
  .ofi-mc .ofi-mc-list .children { margin-inline-start: 11px; padding-inline-start: 10px; }
  .ofi-mc .ofi-mc-list .children > .ofi-mc-item::before { width: 7px; }
  .ofi-mc .ofi-mc-meta { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
  .ofi-mc .ofi-mc-time { display: block; margin-top: 0; }
  .ofi-mc .ofi-mc-text { font-size: 13px; line-height: 1.75; }
  .ofi-mc .ofi-mc-form-shell { padding: 18px 14px; border-radius: 13px; }
  .ofi-mc .ofi-mc-comment-form { grid-template-columns: minmax(0,1fr); }
  .ofi-mc .ofi-mc-comment-form > p { grid-column: 1 / -1; }
  .ofi-mc .ofi-mc-comment-form .form-submit { justify-content: stretch; }
  .ofi-mc .ofi-mc-comment-form .ofi-mc-submit { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .ofi-mc :is(.ofi-mc-write-button,.ofi-mc-submit) { transition: none; transform: none; }
}

/* F3 — configurable widths, cards and controls (no front-end JavaScript). */
.ofi-mc.ofi-mc--compact { max-width: 760px; }
.ofi-mc.ofi-mc--standard { max-width: 960px; }
.ofi-mc.ofi-mc--wide { max-width: 1120px; }
.ofi-mc.ofi-mc--flat .ofi-mc-card { box-shadow: none; border-color: #dae3e8; }
.ofi-mc.ofi-mc--flat .ofi-mc-item--author > .ofi-mc-card { box-shadow: none; }
.ofi-mc.ofi-mc--no-avatars .ofi-mc-card { grid-template-columns: minmax(0,1fr); }
.ofi-mc.ofi-mc--no-avatars .ofi-mc-content { grid-column: 1 / -1; }
.ofi-mc .ofi-mc-heading-controls { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 12px; }
.ofi-mc .ofi-mc-sort { display: flex; gap: 7px; align-items: center; flex-wrap: wrap; margin: 0; }
.ofi-mc .ofi-mc-sort label { font-size: 12px; color: var(--ofi-mc-muted); font-weight: 700; }
.ofi-mc .ofi-mc-sort select { width: auto; min-height: 42px; padding: 8px 25px 8px 10px; border-radius: 9px; border: 1px solid #dbe4e8; background: #fff; color: var(--ofi-mc-ink); font: inherit; font-size: 12px; }
.ofi-mc .ofi-mc-sort button { min-height: 42px; border: 1px solid #dbe4e8; border-radius: 9px; background: #f7fafb; color: var(--ofi-mc-ink); padding: 8px 11px; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.ofi-mc .ofi-mc-sort button:hover { border-color: var(--ofi-mc-teal); color: var(--ofi-mc-teal); }
.ofi-mc .ofi-mc-write-button { background: var(--ofi-mc-teal); border-color: var(--ofi-mc-teal); }
.ofi-mc .ofi-mc-write-button:hover { background: var(--ofi-mc-teal); filter: brightness(.84); }
.ofi-mc .ofi-mc-actions .comment-reply-link, .ofi-mc .ofi-mc-actions .comment-reply-link:visited { color: var(--ofi-mc-teal); }
.ofi-mc .ofi-mc-badge { background: color-mix(in srgb, var(--ofi-mc-teal) 11%, white); color: var(--ofi-mc-teal); border-color: color-mix(in srgb, var(--ofi-mc-teal) 24%, white); }
.ofi-mc .ofi-mc-item--author > .ofi-mc-card { background: color-mix(in srgb, var(--ofi-mc-teal) 5%, white); border-color: color-mix(in srgb, var(--ofi-mc-teal) 20%, white); }
.ofi-mc .ofi-mc-pagination .page-numbers.current { background: var(--ofi-mc-teal); border-color: var(--ofi-mc-teal); }
.ofi-mc .ofi-mc-comment-form .ofi-mc-submit { background: var(--ofi-mc-purple); border-color: var(--ofi-mc-purple); }
.ofi-mc .ofi-mc-comment-form .ofi-mc-submit:hover { background: var(--ofi-mc-purple); border-color: var(--ofi-mc-purple); filter: brightness(.86); }
@media (max-width: 840px) {
 .ofi-mc .ofi-mc-heading-controls { width: 100%; justify-content: flex-start; }
}
@media (max-width: 500px) {
 .ofi-mc .ofi-mc-heading-controls { align-items: stretch; }
 .ofi-mc .ofi-mc-sort { width: 100%; }
 .ofi-mc .ofi-mc-sort label { width: 100%; }
 .ofi-mc .ofi-mc-sort select { flex: 1 1 auto; }
 .ofi-mc .ofi-mc-write-button { width: 100%; }
}

/* F4 accessibility and graceful fallbacks; 4.5:1 white-on-accent validated in PHP. */
.ofi-mc .ofi-mc-permalink { display: inline-flex; align-items: center; justify-content: center; width: 34px; min-height: 34px; color: #476a7d; border-radius: 7px; }
.ofi-mc .ofi-mc-permalink .ofi-mc-icon { width: 15px; height: 15px; }
.ofi-mc .ofi-mc-permalink:hover { color: var(--ofi-mc-teal); text-decoration: underline; }
.ofi-mc .ofi-mc-sort :is(select, button), .ofi-mc :is(.ofi-mc-write-button, .ofi-mc-submit) { touch-action: manipulation; }
.ofi-mc .ofi-mc-badge { background-color: #d5f1e9; color: #085e53; border-color: #a9dcd0; }
@supports (color: color-mix(in srgb, black 5%, white)) {
  .ofi-mc .ofi-mc-badge { background-color: color-mix(in srgb, var(--ofi-mc-teal) 11%, white); border-color: color-mix(in srgb, var(--ofi-mc-teal) 24%, white); color: var(--ofi-mc-teal); }
}
.ofi-mc .ofi-mc-form-shell { scroll-margin-top: 40px; }
.ofi-mc #respond { scroll-margin-top: 35px; }
.ofi-mc :is(.ofi-mc-write-button, .ofi-mc-submit):focus-visible { outline: 3px solid #165f9b; outline-offset: 4px; }
@media (forced-colors: active) {
  .ofi-mc :is(.ofi-mc-card, .ofi-mc-form-shell, .ofi-mc-write-button, .ofi-mc-submit, .ofi-mc-badge) { border: 1px solid CanvasText; }
  .ofi-mc :is(.ofi-mc-write-button, .ofi-mc-submit):focus-visible { outline-color: Highlight; }
}

/* HF1 — visual refinements after the first physical Divi preview.
 * Strongly scoped rules neutralize Divi's .comment-reply-link button decoration.
 * Other theme components remain untouched. No edits to native reply behavior. */
#comments.ofi-mc {
  --ofi-mc-shadow: 0 8px 30px rgba(24, 51, 72, .065);
  line-height: 1.7;
}
#comments.ofi-mc .ofi-mc-heading { margin-bottom: 29px; }
#comments.ofi-mc .ofi-mc-card {
  border-radius: 16px;
  border-color: #e1e9ed;
  box-shadow: var(--ofi-mc-shadow);
  padding: 23px 24px;
}
#comments.ofi-mc .ofi-mc-item--author > .ofi-mc-card {
  border-color: #cce9e2;
  box-shadow: 0 7px 27px rgba(10, 105, 97, .05);
}
#comments.ofi-mc .ofi-mc-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  min-height: 0;
  gap: 2px;
  margin-bottom: 10px;
}
#comments.ofi-mc .ofi-mc-identity { display: inline-flex; gap: 8px; align-items: center; }
#comments.ofi-mc .ofi-mc-author { font-size: 16px; line-height: 1.45; }
#comments.ofi-mc .ofi-mc-time {
  font-size: 12.5px;
  line-height: 1.55;
  letter-spacing: .005em;
  text-decoration: none;
  color: #516779;
}
#comments.ofi-mc .ofi-mc-text {
  font-size: 15px;
  line-height: 1.75;
  margin-top: 3px;
  color: #344c60;
}
#comments.ofi-mc .ofi-mc-text p { margin-bottom: 11px; }
#comments.ofi-mc .ofi-mc-actions { margin-top: 12px; }
/* Divi commonly styles the core comment-reply-link as a bordered button.
 * Undo just that anchor, retaining its native href/data-commentid for core WP. */
#comments.ofi-mc .ofi-mc-list .ofi-mc-card .ofi-mc-actions a.comment-reply-link,
#comments.ofi-mc .ofi-mc-list .ofi-mc-card .ofi-mc-actions a.comment-reply-link:visited {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 7px !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 5px 3px !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline-offset: 3px !important;
  box-shadow: none !important;
  color: var(--ofi-mc-teal) !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-style: normal !important;
  line-height: 1.4 !important;
  font-weight: 750 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  text-align: left !important;
  opacity: 1 !important;
  transition: color .15s ease !important;
}
#comments.ofi-mc .ofi-mc-list .ofi-mc-card .ofi-mc-actions a.comment-reply-link::before {
  content: '' !important;
  display: inline-block !important;
  position: static !important;
  flex: 0 0 17px !important;
  width: 17px !important;
  height: 17px !important;
  margin: 0 !important;
  padding: 0 !important;
  background-color: currentColor !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  opacity: 1 !important;
  transform: none !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M10 6 3 13l7 7v-4c6 0 10 2 12 5-1-9-5-13-12-13V6Z'/%3E%3C/svg%3E") center / contain no-repeat !important;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M10 6 3 13l7 7v-4c6 0 10 2 12 5-1-9-5-13-12-13V6Z'/%3E%3C/svg%3E") center / contain no-repeat !important;
}
#comments.ofi-mc .ofi-mc-list .ofi-mc-card .ofi-mc-actions a.comment-reply-link::after { content: none !important; display: none !important; }
#comments.ofi-mc .ofi-mc-list .ofi-mc-card .ofi-mc-actions a.comment-reply-link:hover {
  text-decoration: underline !important;
  text-underline-offset: 4px;
}
/* More compact sort selector. Screen-reader label is kept in the DOM.
 * The Apply button is hidden ONLY after the progressive enhancement loads. */
#comments.ofi-mc .ofi-mc-sort {
  display: inline-flex;
  position: relative;
  flex-wrap: nowrap;
  gap: 7px;
  align-items: center;
}
#comments.ofi-mc .ofi-mc-sort-label {
  position: absolute !important; width: 1px !important; height: 1px !important;
  padding: 0 !important; margin: -1px !important; overflow: hidden !important;
  clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important;
}
#comments.ofi-mc .ofi-mc-sort select {
  appearance: none;
  -webkit-appearance: none;
  min-height: 44px;
  max-width: 220px;
  padding: 9px 35px 9px 34px;
  border-radius: 11px;
  border: 1px solid #d7e2e7;
  color: #254457;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234d6979' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 11px center / 16px 16px no-repeat;
  font: inherit; font-size: 13px; font-weight: 650;
  box-shadow: 0 4px 15px rgba(30, 54, 78, .04);
  cursor: pointer;
}
#comments.ofi-mc .ofi-mc-sort::before {
  content: '↕';
  position: absolute;
  inset-inline-start: 12px;
  top: 50%; transform: translateY(-50%);
  font-size: 18px; line-height: 1; color: var(--ofi-mc-teal);
  pointer-events: none; z-index: 1;
}
#comments.ofi-mc .ofi-mc-sort.ofi-mc-sort--enhanced button[type="submit"] { display: none; }
#comments.ofi-mc .ofi-mc-sort:not(.ofi-mc-sort--enhanced) button[type="submit"] {
  min-height: 44px; border-radius: 10px;
}
#comments.ofi-mc .ofi-mc-heading-controls { gap: 13px; }
#comments.ofi-mc .ofi-mc-write-button { min-height: 44px; }
@media (max-width: 740px) {
  #comments.ofi-mc .ofi-mc-card { padding: 20px 19px; }
  #comments.ofi-mc .ofi-mc-meta { margin-bottom: 8px; }
}
@media (max-width: 500px) {
  #comments.ofi-mc .ofi-mc-card { padding: 16px 13px; }
  #comments.ofi-mc .ofi-mc-text { font-size: 14px; line-height: 1.75; }
  #comments.ofi-mc .ofi-mc-author { font-size: 14px; }
  #comments.ofi-mc .ofi-mc-time { font-size: 12px; }
  #comments.ofi-mc .ofi-mc-sort { width: 100%; }
  #comments.ofi-mc .ofi-mc-sort select { flex: 1 1 auto; max-width: 100%; }
  #comments.ofi-mc .ofi-mc-heading-controls { align-items: stretch; }
}
@media (forced-colors: active) {
  #comments.ofi-mc .ofi-mc-list .ofi-mc-card .ofi-mc-actions a.comment-reply-link { color: LinkText !important; }
}
/* Preserve the F3 flat-card choice despite HF1's higher-specificity polish. */
#comments.ofi-mc.ofi-mc--flat .ofi-mc-card,
#comments.ofi-mc.ofi-mc--flat .ofi-mc-item--author > .ofi-mc-card {
  box-shadow: none;
  border-color: #dae3e8;
}
