/* A reading layout inside the site's existing dark theme. */
body.phar-approved-review .elementor-location-header > section.elementor-top-section {
    margin-bottom: 0;
}
.ep-review.phsd-shell {
    --ep-ink: #f5edf9;
    --ep-secondary: #c5b7d0;
    --ep-link: #cba6ef;
    --ep-action: #6d35b5;
    --ep-rule: #493957;
    box-sizing: border-box;
    width: calc(100% - 48px);
    max-width: 740px;
    margin: 0 auto;
    padding: 16px 0 56px;
    color: var(--ep-ink);
    font-family: inherit;
    font-size: 17px;
    line-height: 1.65;
}
.ep-review *, .ep-review *::before, .ep-review *::after { box-sizing: border-box; }
.ep-review a { color: var(--ep-link); text-underline-offset: 3px; }
.ep-review a:hover { text-decoration-thickness: 2px; }
.ep-review :is(a, button, summary):focus-visible { outline: 2px solid #d7b6f3; outline-offset: 4px; }
body.phar-approved-review .ep-review h1, body.phar-approved-review .ep-review h2 { color: var(--ep-ink); font-family: inherit; letter-spacing: -.015em; }
.ep-review p { margin: 0 0 20px; font-size: inherit; line-height: inherit; overflow-wrap: anywhere; }
.ep-review__breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 0 10px; margin-bottom: 12px; color: var(--ep-secondary); font-size: 14px; }
.ep-review__breadcrumbs a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; }
.ep-review__breadcrumbs a:hover { text-decoration: underline; }
.ep-review__identity { display: flex; align-items: center; gap: 14px; min-width: 0; }
.ep-review .ep-review__logo { display: inline-flex; flex: 0 0 40px; width: 40px; height: 40px; border: 0; border-radius: 6px; background: transparent; box-shadow: none; }
.ep-review .ep-review__logo img { width: 40px; height: 40px; object-fit: contain; }
.ep-review .ep-review__brand-logo { display: block; flex: 0 0 auto; width: auto; height: auto; max-width: 118px; max-height: 42px; object-fit: contain; }
body.phar-approved-review .ep-review h1 { margin: 0; font-size: 38px; line-height: 1.15; font-weight: 500; overflow-wrap: anywhere; }
.ep-review .ep-review__byline { display: flex; flex-wrap: wrap; gap: 2px 20px; margin: 12px 0 16px; color: var(--ep-secondary); font-size: 14px; line-height: 1.5; }
.ep-review .ep-review__lead { max-width: 62ch; margin-bottom: 20px; font-size: 20px; line-height: 1.5; }
.ep-review__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.ep-review .ep-review__button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; margin: 0; padding: 10px 20px; border: 1px solid var(--ep-rule); border-radius: 7px; font-family: inherit; font-size: 16px; font-weight: 550; line-height: 1.4; text-decoration: none; box-shadow: none; cursor: pointer; }
.ep-review .ep-review__button--primary { border-color: var(--ep-action); background: var(--ep-action); color: #fff; }
.ep-review .ep-review__button--primary:hover { background: #7b41c1; border-color: #7b41c1; }
.ep-review .ep-review__button--save { background: transparent; color: var(--ep-ink); }
.ep-review .ep-review__button--save:hover, .ep-review .ep-review__button--save[aria-pressed="true"] { border-color: var(--ep-link); background: #24172f; }
.ep-review__article { max-width: 68ch; margin-top: 32px; }
.ep-review__section + .ep-review__section { margin-top: 32px; }
body.phar-approved-review .ep-review h2 { margin: 0 0 12px; font-size: 24px; line-height: 1.3; font-weight: 500; }
.ep-review__section > :last-child { margin-bottom: 0; }
.ep-review__footer { margin-top: 40px; padding-top: 32px; border-top: 1px solid var(--ep-rule); }
body.phar-approved-review .ep-review__footer h2 { font-size: 22px; }
.ep-review .ep-review__category-link { margin-bottom: 12px; font-size: 16px; }
.ep-review__category-link a { display: inline-flex; align-items: center; min-height: 44px; }
@media (max-width: 600px) {
    .ep-review.phsd-shell { width: calc(100% - 40px); padding-top: 12px; padding-bottom: 40px; }
    .ep-review__identity { gap: 12px; }
    .ep-review .ep-review__brand-logo { max-width: 96px; max-height: 36px; }
    body.phar-approved-review .ep-review h1 { font-size: 29px; line-height: 1.2; }
    .ep-review .ep-review__lead { font-size: 19px; line-height: 1.55; }
    .ep-review__article { margin-top: 28px; }
    body.phar-approved-review .ep-review h2 { font-size: 22px; }
    .ep-review__footer { margin-top: 32px; padding-top: 28px; }
}

/* Override the theme kit link line-height so stacked text stays readable. */
body.phar-approved-review .ep-review a { line-height: 1.5; }

body.phar-approved-review .ep-review :is(section, details) { scroll-margin-top: 24px; }
@media (prefers-reduced-motion: reduce) {
    body.phar-approved-review { scroll-behavior: auto; }
}

.ep-review__figure { margin: 24px 0 32px; }
.ep-review__figure img { display: block; width: 100%; height: auto; border: 1px solid var(--ep-rule); }
.ep-review__figure figcaption { margin-top: 10px; color: var(--ep-secondary); font-size: 14px; line-height: 1.5; }

.ep-review__figure + .ep-review__section { margin-top: 32px; }

.ep-review__reader { margin-top: 40px; padding-top: 24px; max-width: 68ch; border-top: 1px solid var(--ep-rule); }
.ep-review .ep-review__reader-note { color: var(--ep-secondary); font-size: 14px; }
.ep-review .ep-review__reader-notice { padding: 10px 14px; border: 1px solid var(--ep-rule); border-radius: 7px; }
.ep-review__reader-list { list-style: none; margin: 0 0 24px; padding: 0; }
.ep-review__reader-list li { margin-bottom: 12px; padding: 12px 14px; border: 1px solid var(--ep-rule); border-radius: 7px; }
.ep-review .ep-review__reader-list p { margin-bottom: 6px; }
.ep-review .ep-review__reader-list p:last-child { margin-bottom: 0; }
.ep-review__reader-form { display: grid; gap: 8px; }
.ep-review__reader-form fieldset { min-width: 0; margin: 0 0 6px; padding: 0; border: 0; }
.ep-review__reader-ratings { display: flex; flex-wrap: wrap; gap: 4px 14px; }
.ep-review__reader-ratings label, .ep-review__reader-check { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; }
.ep-review__reader-form :is(input:not([type]), input[type="email"], textarea) { width: 100%; padding: 9px 12px; border: 1px solid var(--ep-rule); border-radius: 6px; background: #20152c; color: var(--ep-ink); font: inherit; }
.ep-review__reader-form :is(input, textarea):focus-visible { outline: 2px solid var(--ep-link); outline-offset: 2px; }
.ep-review__reader-form button { justify-self: start; }
/* Keep keyboard focus clear of the site's fixed mobile navigation. */
html:has(body.phar-approved-review) { scroll-behavior: auto; }
@media (max-width: 767px) {
    html:has(body.phar-approved-review) { scroll-padding-bottom: 88px; }
    body.phar-approved-review .ep-review :is(a, button, summary) { scroll-margin-block: 24px 88px; }
}

.ep-review .ep-review__byline { align-items: center; }
.ep-review .ep-review__author { display: inline-flex; align-items: center; min-height: 44px; color: var(--ep-link); text-decoration: underline; }

.ep-review__verdict-title { display: flex; align-items: center; gap: 12px; }
.ep-review__verdict-title img { display: block; width: 40px; height: 40px; flex: 0 0 40px; border-radius: 50%; object-fit: cover; }
.ep-review__quiet-links { list-style: none; margin: 0; padding: 0; font-size: 16px; }
.ep-review__quiet-links a { display: inline-flex; align-items: center; min-height: 44px; }
body.phar-approved-review .ep-review :is(.ep-review__article, .ep-review__footer) a { text-decoration: underline; }
.ep-review .ep-review__monogram {
    display: inline-grid;
    place-items: center;
    background: #30273b;
    color: #f2e9f8;
    font-size: 14px;
    font-weight: 650;
    letter-spacing: .03em;
}
.ep-review code { font-size: .95em; overflow-wrap: anywhere; }

.phar-review{box-sizing:border-box;width:min(calc(100% - 40px),740px);margin-inline:auto;padding:24px 0 60px;color:#f5edf9;font:inherit;font-size:17px;line-height:1.65;overflow-wrap:break-word}
.phar-review nav,.phar-review .phar-byline{color:#c5b7d0;font-size:.875rem}
.phar-review a{color:#d6b8f1;text-underline-offset:.2em}
.phar-review h1{color:inherit;font-size:clamp(2rem,6vw,3rem);line-height:1.1;letter-spacing:-.035em;margin:1.4rem 0 .5rem}
.phar-review h2{color:inherit;font-size:1.35rem;line-height:1.3;margin:1.8em 0 .45em}
.phar-review p{margin:0 0 1em}
.phar-review header{border-bottom:1px solid #493957;margin-bottom:1.25rem}
.phar-review a:focus-visible{outline:2px solid #d6b8f1;outline-offset:4px}
@media(max-width:480px){.phar-review{padding-top:16px;font-size:16px}}
.phar-extra { margin-top: 2rem; border-top: 1px solid #493957; padding-top: 1rem; }
