/* Shared imagery and line icons. Compact heroes and About spacing remain in global.css. */
.theempath-svg { display: inline-block; width: 1.25rem; height: 1.25rem; flex: 0 0 auto; vertical-align: -.2em; }
.theempath-button .theempath-svg { width: 1rem; height: 1rem; }
.theempath-icon { font: inherit; }
.theempath-icon .theempath-svg { width: 1.6rem; height: 1.6rem; }
.theempath-content-photo { display: block; overflow: hidden; background: var(--color-ivory); }
.theempath-content-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.theempath-reading-photo { flex: 0 0 auto; width: 7rem; height: 7rem; border: 4px solid var(--color-lavender-soft); border-radius: 50%; }
.theempath-service-card { padding-block: 1.5rem 1.8rem; }
.theempath-service-card h3 { margin-top: .8rem; }
.theempath-media-fallback { display: grid; place-items: center; background: var(--color-lavender-soft); color: var(--color-navy); }
.theempath-media-fallback .theempath-svg { width: 2rem; height: 2rem; }
.theempath-scene:not(.theempath-scene--photographic) { display: grid; place-items: center; min-height: 12rem; }
.theempath-scene:not(.theempath-scene--photographic)::before { content: none; }
.theempath-scene__fallback { width: 3rem; height: 3rem; color: var(--color-navy); }
.theempath-trust-strip .theempath-svg { width: 1.2rem; height: 1.2rem; }
.theempath-gold-rule .theempath-svg, .theempath-section-heading .theempath-svg { width: .8rem; height: .8rem; }
.theempath-step-art { display: block; width: 1.7rem; height: 1.7rem; margin: -.6rem auto .8rem; color: var(--color-gold); }
.theempath-choice-band > span .theempath-svg, .theempath-experience > span .theempath-svg { width: 2.5rem; height: 2.5rem; }
.theempath-mobile-menu summary { display: flex; align-items: center; justify-content: center; gap: .45rem; }
.theempath-mobile-menu .theempath-svg { width: 1.1rem; height: 1.1rem; }
.theempath-mobile-menu[open] summary [data-icon="menu"] { display: none; }
.theempath-confirmation__icon .theempath-svg { width: 2rem; height: 2rem; }
.theempath-state-art { display: block; width: 2.5rem; height: 2.5rem; margin: 0 auto 1rem; color: var(--color-navy); }
.theempath-reading-photo img { object-fit: contain; }
.theempath-article-card__art { display: block; min-height: 0; aspect-ratio: 3 / 2; background: var(--color-ivory); overflow: hidden; }
.theempath-article-card__art::after { content: none; }
.theempath-article-card__art > img, .theempath-article-card__art > picture { display: block; width: 100%; height: 100%; object-fit: cover; }
.theempath-article-card__art picture img { width: 100%; height: 100%; object-fit: cover; }
.theempath-article__art { max-height: 21rem; aspect-ratio: 3 / 2; overflow: hidden; border-radius: .9rem; background: var(--color-ivory); }
.theempath-article__art > img, .theempath-article__art > picture { display: block; width: 100%; height: 100%; object-fit: cover; }
.theempath-article__art picture img { width: 100%; height: 100%; object-fit: cover; }
.theempath-read-more { display: inline-flex; align-items: center; gap: .4rem; }

/* CSS masks use the same source paths as inline icons. No font glyph or JS required. */
.theempath-check-list li::before, .theempath-comparison li::before, .theempath-question-examples li::before { content: ""; display: inline-block; width: 1rem; height: 1rem; background: currentColor; mask: url('../icons/check.svg') center / contain no-repeat; }
.theempath-check-list li::before, .theempath-comparison li::before { top: .25em; }
.theempath-comparison__unclear li::before { content: ""; mask-image: url('../icons/close.svg'); }
.theempath-question-examples li { position: relative; padding-left: 1.5rem; }
.theempath-question-examples li::before { position: absolute; left: 0; top: .25em; margin: 0; mask-image: url('../icons/sparkle.svg'); }
.theempath-faq-list summary::after { content: ""; width: 1rem; height: 1rem; background: currentColor; mask: url('../icons/plus.svg') center / contain no-repeat; }
.theempath-faq-list details[open] summary::after { content: ""; mask-image: url('../icons/minus.svg'); }
.theempath-purchase-guide { padding-block: clamp(2rem, 4vw, 3.5rem); }
.theempath-purchase-guide h2 { margin-bottom: 1.25rem; font-size: clamp(1.75rem, 2.7vw, 2.2rem); line-height: 1.18; letter-spacing: -.02em; }
.theempath-purchase-steps { counter-reset: purchase; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin: 0 0 1.25rem; }
.theempath-purchase-steps li { display: flex; flex-direction: column; padding: 1.1rem; margin: 0; border: 1px solid var(--color-border-soft); border-radius: .8rem; background: var(--color-pearl); }
.theempath-purchase-step__copy h3 { margin: 0 0 .5rem; font-family: inherit; font-size: 1rem; font-weight: 650; line-height: 1.35; letter-spacing: -.01em; }
.theempath-purchase-step__copy p { margin: 0; color: var(--color-navy-soft); font-size: .9375rem; line-height: 1.55; }
.theempath-purchase-step__copy a { font-weight: 600; text-decoration: underline; text-decoration-thickness: 1px; }
.theempath-purchase-preview { max-width: 110ch; margin: 0 0 1.25rem; color: var(--color-navy-soft); font-size: .8125rem; line-height: 1.55; }
.theempath-purchase-guide .theempath-actions { margin-top: 0; gap: .75rem; }
.theempath-purchase-steps li::before { counter-increment: purchase; content: counter(purchase, decimal-leading-zero); display: inline-block; margin-bottom: .6rem; color: var(--color-gold); font-weight: 700; }
.theempath-purchase-steps .theempath-svg { display: block; margin-bottom: .65rem; color: var(--color-navy); }
.theempath-step-photo { display: block; aspect-ratio: 3 / 2; max-height: 14rem; overflow: hidden; }
.theempath-step-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.theempath-step-photo--choose img { object-position: center bottom; }
.theempath-purchase-steps--photographic li { position: relative; padding: 0; overflow: hidden; }
.theempath-purchase-steps--photographic li::before { position: absolute; top: .7rem; left: .7rem; z-index: 1; display: grid; place-items: center; width: 2rem; height: 2rem; margin: 0; border: 1px solid var(--color-gold); border-radius: 50%; background: var(--color-pearl); color: var(--color-navy); font-size: .8rem; }
.theempath-purchase-steps--photographic .theempath-step-photo { flex: 0 0 auto; width: 100%; margin: 0; }
.theempath-purchase-steps--photographic .theempath-purchase-step__copy { padding: 1rem 1.1rem 1.15rem; }
.theempath-purchase-steps--photographic .theempath-step-photo.theempath-media-fallback { display: grid; }
.theempath-account-heading { display: flex; align-items: center; gap: .7rem; }
.theempath-account-heading .theempath-svg { color: var(--color-gold); }

/* Commerce images come from real WP attachment records, including Blocks/Store API. */
.theempath-site .woocommerce ul.products li.product img,
.theempath-site .wc-block-grid__product-image img { border-radius: .9rem; }
.theempath-line-item { display: inline-flex; align-items: center; gap: .6rem; }
.theempath-line-item__photo { width: 2.6rem !important; height: 2.6rem !important; border-radius: .45rem; object-fit: cover; flex: 0 0 auto; }
.theempath-line-item > span { min-width: 0; }
.theempath-site .wc-block-cart__empty-cart__title::before { width: 3rem; height: 3rem; margin-bottom: 1rem; background: var(--color-navy) !important; mask: url('../icons/bag.svg') center / contain no-repeat; }
.theempath-site .woocommerce-message::before, .theempath-site .woocommerce-info::before, .theempath-site .woocommerce-error::before { content: ""; width: 1.25rem; height: 1.25rem; background: currentColor; mask: url('../icons/info.svg') center / contain no-repeat; }
.theempath-site .woocommerce-message::before { mask-image: url('../icons/check-circle.svg'); }
.theempath-site .woocommerce-error::before { mask-image: url('../icons/alert.svg'); }
.theempath-site .woocommerce-MyAccount-navigation a { display: flex; align-items: center; gap: .65rem; }
.theempath-site .woocommerce-MyAccount-navigation a::before { content: ""; width: 1.15rem; height: 1.15rem; flex: 0 0 auto; background: currentColor; mask: url('../icons/user.svg') center / contain no-repeat; }
.theempath-site .woocommerce-MyAccount-navigation-link--orders a::before { mask-image: url('../icons/bag.svg'); }
.theempath-site .woocommerce-MyAccount-navigation-link--my-readings a::before { mask-image: url('../icons/inbox.svg'); }
.theempath-site.woocommerce-account .woocommerce h2::before { content: ""; display: inline-block; width: 1.4rem; height: 1.4rem; margin-right: .6rem; background: currentColor; mask: url('../icons/user.svg') center / contain no-repeat; }
.theempath-site.woocommerce-account .woocommerce-MyAccount-content > h2::before { mask-image: url('../icons/inbox.svg'); }
.theempath-site .theempath-reading-card h3::before,
.theempath-site #reading-options h4::before { content: ""; display: inline-block; width: 1.15rem; height: 1.15rem; margin-right: .5rem; background: currentColor; mask: url('../icons/inbox.svg') center / contain no-repeat; }
.theempath-site #reading-options h4:nth-of-type(2)::before { mask-image: url('../icons/calendar.svg'); }
.theempath-site [name="reading_action"]::before { content: ""; display: inline-block; width: 1rem; height: 1rem; margin-right: .5rem; vertical-align: -.15em; background: currentColor; mask: url('../icons/arrow.svg') center / contain no-repeat; }
.theempath-site [name="reading_action"][value="email"]::before { mask-image: url('../icons/mail.svg'); }
.theempath-site [name="reading_action"][value="hold"]::before { mask-image: url('../icons/clock.svg'); }
.theempath-site [name="reading_action"][value="confirm"]::before { mask-image: url('../icons/check-circle.svg'); }
.theempath-site [name="reading_action"][value="release"]::before { mask-image: url('../icons/close.svg'); }
.theempath-site #reading-options label:has([name="mode"])::after { content: ""; display: inline-block; width: 1rem; height: 1rem; margin-left: .4rem; background: currentColor; mask: url('../icons/phone.svg') center / contain no-repeat; }
.theempath-site #reading-options label:has([value="video"])::after { mask-image: url('../icons/video.svg'); }
.theempath-site .theempath-fulfilment-state::before { content: ""; display: inline-block; width: 1.15rem; height: 1.15rem; margin-right: .45rem; vertical-align: -.2em; background: currentColor; mask: url('../icons/info.svg') center / contain no-repeat; }
.theempath-site .theempath-fulfilment-state--held::before { mask-image: url('../icons/clock.svg'); }
.theempath-site .theempath-fulfilment-state--scheduled::before { mask-image: url('../icons/calendar.svg'); }
.theempath-site .theempath-fulfilment-state--email::before { mask-image: url('../icons/mail.svg'); }
.theempath-site .theempath-fulfilment-state--review::before { mask-image: url('../icons/alert.svg'); }
.theempath-photo-failed { position: relative; min-height: 3rem; background: var(--color-lavender-soft); color: var(--color-navy); }
.theempath-photo-failed img[hidden] { display: none !important; }
.theempath-photo-failed::after { content: ""; position: absolute; inset: 50% auto auto 50%; transform: translate(-50%, -50%); width: 2rem; height: 2rem; background: currentColor; mask: url('../icons/book.svg') center / contain no-repeat; }

@media (max-width: 60rem) {
  .theempath-purchase-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 40rem) {
  .theempath-reading-photo { width: 6.5rem; height: 6.5rem; }
  .theempath-service-about { grid-template-columns: minmax(0, 1fr); }
  .theempath-purchase-steps { grid-template-columns: minmax(0, 1fr); }
  .theempath-site .woocommerce-MyAccount-content { min-width: 0; }
}
