/* Findigital extension of Azurio's existing light/dark tokens.
 * Media overlays, purple actions and green promo keep their art-directed
 * palettes. The homepage hero and editorial surfaces follow Day/Night.
 */
:root {
  --fd-theme-bg: var(--base);
  --fd-theme-surface: var(--base-tint);
  --fd-theme-fg: var(--t-bright);
  --fd-theme-muted: var(--t-medium);
  --fd-theme-line: rgba(var(--base-opp-rgb), .2);
  --fd-theme-faint: rgba(var(--base-opp-rgb), .06);
}

/* Keep the original template control, including its Day/Night pixel artwork. */
#color-switcher {
  flex: none;
  min-width: 4.4rem;
  min-height: 4.4rem;
  padding: 0;
  background: transparent;
  border: 0;
  cursor: pointer;
}
#color-switcher[hidden] { display: none; }
#color-switcher .findigital-theme-option { align-items: center; }
#color-switcher [data-theme-target="light"],
[color-scheme="dark"] #color-switcher [data-theme-target="dark"] { display: none; }
[color-scheme="dark"] #color-switcher [data-theme-target="light"] { display: inline-flex; }
#color-switcher:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: .6rem;
}
.mxd-header__controls { align-items: center; }
.mxd-header-permanent:not(.mxd-header-light) :is(.mxd-logo, .mxd-logo__text, .mxd-header__link, .mxd-color-switcher) {
  color: var(--fd-theme-fg);
}
/* Only the blog header sits over artwork. About uses the shared themed header. */
body:has(.findigital-blog-page) .mxd-header-permanent :is(.mxd-logo, .mxd-logo__text, .mxd-header__link, .mxd-color-switcher) {
  color: #fff;
}
.mxd-header-permanent .mxd-color-switcher:hover { opacity: .72; }

/* The transparent homepage header sits over this themed hero surface. */
.findigital-software-hero {
  background-color: var(--fd-theme-bg);
  color: var(--fd-theme-fg);
}
.findigital-software-hero .mxd-hero-03,
.findigital-software-hero .mxd-hero-03__headline a,
.findigital-software-hero .mxd-hero-03__headline h1,
.findigital-software-hero .btn,
.findigital-software-hero .btn-caption,
.findigital-software-hero .mxd-socials-line__link {
  color: var(--fd-theme-fg);
}
.findigital-software-hero .btn-line-default svg,
.findigital-software-hero .btn-line-medium svg {
  fill: var(--fd-theme-fg);
}

@media (max-width: 767.98px) {
  .mxd-header {
    left: 2rem;
    width: calc(100% - 8.8rem);
    padding-top: 2.4rem;
    align-items: center;
    gap: .8rem;
  }
  .mxd-header__logo { flex: none; }
  .mxd-logo { gap: .8rem; }
  .mxd-logo__image { height: 3rem; }
  .mxd-logo__text { font-size: 1.5rem; }
  .mxd-header__controls { gap: 0; padding-right: 0; }
  .mxd-header__link { width: 4.4rem; height: 4.4rem; flex: none; }
  .mxd-menu__contain { top: 2.4rem; right: 2rem; }
  .mxd-menu__hamburger { width: 4rem; height: 4.4rem; }
  .mxd-menu__hamburger.active .hamburger__line { width: 3.6rem; }
}

/* Menu uses the same theme as the page, including its shadows and separators. */
.findigital-menu {
  --base-rgb: var(--base-rgb--light);
  --base-opp: var(--fd-theme-bg);
  --base-opp-rgb: var(--base-rgb--light);
  --t-opp-bright: var(--fd-theme-fg);
  --t-opp-medium: var(--fd-theme-muted);
  --t-opp-muted: var(--fd-theme-line);
  --t-opp-muted-extra: var(--fd-theme-faint);
  color-scheme: inherit;
}
[color-scheme="dark"] .findigital-menu {
  --base-rgb: var(--base-rgb--dark);
  --base-opp-rgb: var(--base-rgb--dark);
}
.findigital-menu :is(.mxd-menu__overlay, .mxd-menu__content, .mxd-menu__navigation, .mxd-menu__inner) {
  color: var(--fd-theme-fg);
  background-color: var(--fd-theme-bg);
}
.findigital-menu .mxd-menu__logo :is(.menu-logo, .menu-logo__text) {
  color: var(--fd-theme-fg);
}
.findigital-menu .menu-media__wrapper { background-color: var(--fd-theme-bg); }

/* Shared reading surfaces and the homepage's non-media sections. */
.findigital-inner-page {
  --fd-page-bg: var(--fd-theme-bg);
  --fd-page-fg: var(--fd-theme-fg);
  --fd-page-muted: var(--fd-theme-muted);
  --fd-page-line: var(--fd-theme-line);
}
.findigital-inner-page,
.findigital-services-pinterest-section,
.findigital-services-mosaic-section,
.findigital-about-preview-section,
.findigital-directories-showcase,
.findigital-home-blog,
.findigital-portfolio-showcase,
.findigital-work-strip,
.findigital-blog-list,
.findigital-service-faq,
.findigital-project-faq,
.findigital-portfolio-ribbons,
.findigital-portfolio-directory {
  color: var(--fd-theme-fg);
  background-color: var(--fd-theme-bg);
}
.findigital-service-hero {
  background: radial-gradient(circle at 73% 65%, color-mix(in srgb, var(--service-accent) 18%, transparent), transparent 29%), var(--fd-theme-bg);
}
.findigital-project-hero {
  background: radial-gradient(circle at 75% 35%, rgba(74,32,215,.18), transparent 30%), var(--fd-theme-bg);
}
.findigital-privacy-page {
  background: radial-gradient(circle at 78% 12%, rgba(20,52,202,.16), transparent 24%), var(--fd-theme-bg);
}
.findigital-article-toc,
.findigital-privacy__chatbot,
.findigital-portfolio-ribbons__item {
  color: var(--fd-theme-fg);
  background: var(--fd-theme-surface);
}

/* Primary text: explicit selectors leave white artwork captions untouched. */
.findigital-services-pinterest-section .mxd-section-title__title h2,
.findigital-services-pinterest-section .mxd-section-title__descr p,
.findigital-services-mosaic__inner > .tag,
.findigital-about-preview__title,
.findigital-about-preview__copy p,
.findigital-directories-showcase__eyebrow,
.findigital-directories-showcase__title,
.findigital-directory-card__label,
.findigital-home-blog__title,
.findigital-home-blog__feature-title,
.findigital-home-blog__side-title,
.findigital-home-blog__all,
.findigital-portfolio-showcase__title,
.findigital-portfolio-showcase__intro p,
.findigital-portfolio-showcase__all,
.findigital-portfolio-card__label,
.findigital-work-strip__header h2,
.findigital-work-strip__card > p,
.findigital-work-strip .findigital-text-link--dark,
.findigital-about-intro__statement p,
.findigital-about-intro__heading h2,
.findigital-team-row__name,
.findigital-portfolio-hero h1,
.findigital-cases-hero h1,
.findigital-portfolio-hero__intro p,
.findigital-cases-hero__intro p,
.findigital-portfolio-page .findigital-portfolio-card__title,
.findigital-portfolio-index__header h2,
.findigital-portfolio-index__item h3,
.findigital-case-study__identity h2,
.findigital-case-study__statement strong,
.findigital-case-study__detail dd,
.findigital-blog-card__title,
.findigital-blog-pagination__pages [aria-current="page"],
.findigital-article-hero__title,
.findigital-article-body__lead,
.findigital-article-body__lead::first-line,
.findigital-article-toc__list a,
.findigital-article-section h2,
.findigital-article-quote p::first-line,
.findigital-article-cta__primary,
.findigital-article-not-found h1,
.findigital-contact-hero__title,
.findigital-contact-offices__heading h2,
.findigital-contact-office h3,
.findigital-project-hero__title,
.findigital-project-hero__meta dd,
.findigital-project-overview__details dd,
.findigital-project-overview__copy h2,
.findigital-project-faq__item summary,
.findigital-error-code__number,
.findigital-error-hero__message,
.findigital-portfolio-directory__item,
.findigital-portfolio-directory__item:hover .findigital-portfolio-directory__visit,
.findigital-portfolio-directory__item:focus-visible .findigital-portfolio-directory__visit {
  color: var(--fd-theme-fg);
}

/* Secondary reading text gets usable contrast in both schemes. */
.findigital-service-hero__lead > p,
.findigital-service-overview__copy,
.findigital-service-overview__project-details dt,
.findigital-work-strip__header > p,
.findigital-about-intro__copy p,
.findigital-team-row__role,
.findigital-team-row__index,
.findigital-portfolio-hero__services,
.findigital-cases-hero__services,
.findigital-portfolio-page .findigital-portfolio-card__meta,
.findigital-portfolio-index__eyebrow,
.findigital-portfolio-index__number,
.findigital-portfolio-index__item p,
.findigital-cases-ribbon__item figcaption,
.findigital-case-study__statement,
.findigital-case-study__detail dt,
.findigital-home-blog__meta,
.findigital-home-blog__meta span + span::before,
.findigital-home-blog__excerpt,
.findigital-blog-list__eyebrow,
.findigital-blog-card__meta,
.findigital-blog-card__footer,
.findigital-blog-card__arrow,
.findigital-blog-pagination,
.findigital-article-hero__breadcrumbs,
.findigital-article-hero__category,
.findigital-article-hero__meta,
.findigital-article-toc__title,
.findigital-article-section p,
.findigital-article-section li,
.findigital-article-quote p,
.findigital-article-quote cite,
.findigital-article-cta__eyebrow,
.findigital-article-cta__back,
.findigital-contact-hero__eyebrow,
.findigital-contact-offices__intro,
.findigital-contact-office,
.findigital-project-hero__eyebrow,
.findigital-project-overview__eyebrow,
.findigital-project-faq__eyebrow,
.findigital-project-cta__eyebrow,
.findigital-project-hero__subtitle,
.findigital-project-hero__meta dt,
.findigital-project-overview__details dt,
.findigital-project-hero__scroll,
.findigital-project-overview__copy > p:not(.findigital-project-overview__eyebrow),
.findigital-project-faq__intro,
.findigital-project-faq__icon,
.findigital-project-faq__item > p,
.findigital-error-hero__message span,
.findigital-error-hero__meta,
.findigital-privacy__copy p,
.findigital-privacy__terms p,
.findigital-privacy__terms li,
.findigital-portfolio-directory__marker,
.findigital-portfolio-directory__category,
.findigital-portfolio-directory__visit {
  color: var(--fd-theme-muted);
}
.findigital-case-study__number { color: var(--fd-theme-line); }
.findigital-error-hero__backdrop { color: var(--fd-theme-faint); }
.findigital-service-action:focus-visible,
.findigital-portfolio-ribbons__item:focus-visible { outline-color: var(--fd-theme-fg); }

.findigital-team-directory__list,
.findigital-team-row,
.findigital-portfolio-index,
.findigital-portfolio-index__item,
.findigital-portfolio-index__item:last-child,
.findigital-case-study__detail,
.findigital-home-blog__side-post + .findigital-home-blog__side-post,
.findigital-blog-pagination__pages [aria-current="page"],
.findigital-article-quote,
.findigital-article-cta,
.findigital-contact-office,
.findigital-project-hero__meta div,
.findigital-project-overview__details dl > div,
.findigital-project-overview__details dl > div:last-child,
.findigital-project-faq__item,
.findigital-project-faq__item:last-child {
  border-color: var(--fd-theme-line);
}

/* Text-only accent details need a darker ink on the warm light surface. */
[color-scheme="light"] :is(.findigital-service-deliverables li span, .findigital-service-provided li span, .findigital-service-faq__list summary span, .findigital-privacy-hero__index, .findigital-privacy__chatbot-header > p),
[color-scheme="light"] .findigital-portfolio-directory__item:hover .findigital-portfolio-directory__name,
[color-scheme="light"] .findigital-portfolio-directory__item:focus-visible .findigital-portfolio-directory__name {
  color: var(--fd-action-color);
}
/* Preserve the colored directory CTA and the purple contact form's white ink. */
.findigital-project-cta--elarisa .findigital-project-cta__eyebrow { color: rgba(15,15,15,.65); }
.findigital-contact-hero__form-wrap { color-scheme: dark; }

/* Loading/page-transition surfaces must agree with the pre-paint preference. */
.mxd-page-transition { background-color: var(--fd-theme-bg); }
.mxd-loader { color: var(--fd-theme-fg); }
