/* V2.060: the existing dark art direction stays the default. Light mode uses
   warm paper, ink typography, and the same coral/lime brand accents. */
.p360-color-toggle { display: inline-grid; flex: 0 0 auto; place-items: center; min-width: 64px; min-height: 44px; padding: 4px 0; border: 0; border-radius: 24px; background: transparent; cursor: pointer; }
.p360-color-toggle[hidden] { display: none !important; }
.p360-color-toggle__scene { display: block; overflow: visible; }
.p360-color-toggle__sky { fill: #152330; stroke: #63717d; }
.p360-color-toggle__stars { color: var(--p360-accent-2); transition: opacity .3s, transform .5s; transform-origin: center; }
.p360-color-toggle__orb { transform: translateX(0); transition: transform .55s cubic-bezier(.2,.8,.2,1); }
.p360-color-toggle__disc { fill: #f4f1ea; }
.p360-color-toggle__moon { color: #152330; opacity: 1; transition: opacity .25s, transform .5s; transform-origin: 18px 18px; }
.p360-color-toggle__sun { color: #08111a; opacity: 0; transform: rotate(-90deg) scale(.5); transform-origin: 18px 18px; transition: opacity .25s, transform .55s; }
html[data-color-mode="light"] .p360-color-toggle__sky { fill: #e4e7dc; stroke: #7d8772; }
html[data-color-mode="light"] .p360-color-toggle__orb { transform: translateX(28px); }
html[data-color-mode="light"] .p360-color-toggle__disc { fill: var(--p360-accent-2); }
html[data-color-mode="light"] .p360-color-toggle__sun { opacity: 1; transform: none; }
html[data-color-mode="light"] .p360-color-toggle__moon { opacity: 0; transform: rotate(45deg) scale(.5); }
html[data-color-mode="light"] .p360-color-toggle__stars { opacity: 0; transform: translateX(-8px); }
html[data-color-mode="light"] {
  color-scheme: light;
  background: var(--p360-paper);
  --p360-surface-dark: var(--p360-paper);
  --p360-surface-dark-raised: #fff;
  --p360-text-light: var(--p360-ink);
  --p360-text-light-muted: #4f5963;
  --p360-line-light: rgba(8,17,26,.2);
}
html[data-color-mode="light"] body.p360-site { background: var(--p360-paper); color: var(--p360-ink); }
/* Image/video stages retain their dark overlays and white foreground. */
html[data-color-mode="light"] :is(.p360-hero, .p360-inner-hero, .p360-service-card, .p360-phone) {
  --p360-text-light: #f7f8fa;
  --p360-text-light-muted: #c7d0d8;
  --p360-line-light: rgba(255,255,255,.2);
}
html[data-color-mode="light"] body.p360-site :is(.p360-section--dark,.p360-services,.p360-inner-services,.p360-next-step,.p360-reviews,.p360-footer,.p360-service-collaboration) {
  background: var(--p360-paper) !important;
  color: var(--p360-ink) !important;
  border-color: var(--p360-line) !important;
}
html[data-color-mode="light"] body.p360-site :is(.p360-header__inner,.p360-header.is-scrolled .p360-header__inner) { background: rgba(244,241,234,.97); color: var(--p360-ink); border-color: var(--p360-line); }
html[data-color-mode="light"] body.p360-site .p360-header { color: var(--p360-ink); }
html[data-color-mode="light"] .p360-brand, html[data-color-mode="light"] .p360-footer__brand > a { padding: 8px 12px; border-radius: 12px; background: #08111a; }
html[data-color-mode="light"] .p360-nav__list .sub-menu { background: #fff; border-color: var(--p360-line); color: var(--p360-ink); }
html[data-color-mode="light"] body.p360-site .p360-nav__list .sub-menu a { color: var(--p360-ink) !important; }
html[data-color-mode="light"] .p360-nav__list .sub-menu a:is(:hover,:focus-visible) { background: var(--p360-accent-2); }
html[data-color-mode="light"] .p360-nav__list > .p360-services-menu > .sub-menu::before { background: #fff; }
html[data-color-mode="light"] body.p360-site .p360-nav__list :is(.current-menu-item,.current-menu-ancestor) > a { color: var(--p360-accent-strong) !important; }
html[data-color-mode="light"] body.p360-site :is(.p360-kicker,.p360-footer__eyebrow,.p360-review-modal__eyebrow) { color: var(--p360-accent-strong) !important; }
html[data-color-mode="light"] body.p360-site :is(.p360-hero,.p360-inner-hero,.p360-service-card) .p360-kicker { color: var(--p360-accent-2) !important; }
html[data-color-mode="light"] body.p360-site :is(.p360-inner-service-card a,.p360-service-directory__card a,.p360-review-card,.p360-review-modal__shell) { background: #fff; border-color: var(--p360-line); color: var(--p360-ink); }
html[data-color-mode="light"] body.p360-site .p360-inner-service-card a:is(:hover,:focus-visible) { background: var(--p360-accent-2); }
html[data-color-mode="light"] body.p360-site :is(.p360-inner-service-card__number,.p360-review-card__author,.p360-review-modal__title,.p360-reviews__quote blockquote) { color: var(--p360-ink) !important; }
html[data-color-mode="light"] body.p360-site :is(.p360-review-card__date,.p360-review-card__text,.p360-review-card__source,.p360-review-modal__date,.p360-review-modal__text,.p360-review-modal__source,.p360-review-carousel__status,.p360-footer p,.p360-footer small) { color: var(--p360-text-dark-muted) !important; }
html[data-color-mode="light"] body.p360-site :is(.p360-footer__nav-list a,.p360-footer__meta a,.p360-footer__bottom a,.p360-next-step .p360-text-link,.p360-inner-services__all,.p360-review-card__read-more,.p360-review-modal__source-link) { color: var(--p360-ink) !important; }
html[data-color-mode="light"] body.p360-site :is(.p360-review-carousel__button,.p360-review-modal__close,.p360-review-modal__read-more) { background: #fff; color: var(--p360-ink) !important; border-color: var(--p360-line); }
/* The plugin business summary is now a light card, including nested text-fill. */
html[data-color-mode="light"] body.p360-site .p360-reviews__embed :is(.wp-google-place,.grw-place,.grw-header,.rplg-business) { background: #fff !important; border-color: var(--p360-line) !important; color: var(--p360-ink) !important; }
html[data-color-mode="light"] body.p360-site .p360-reviews__embed :is(.wp-google-place,.grw-place,.grw-header,.rplg-business) :is(div,p,span,small,strong,b,em,a) { color: var(--p360-ink) !important; -webkit-text-fill-color: var(--p360-ink) !important; }
html[data-color-mode="light"] body.p360-site .p360-reviews__embed :is(.wp-google-stars,.wp-star,.grw-stars,.rplg-stars) { color: #9b6500 !important; -webkit-text-fill-color: #9b6500 !important; }
html[data-color-mode="light"] .p360-review-modal__shell::before { border-color: var(--p360-line); }
html[data-color-mode="light"] :is(.p360-quote-dialog,.p360-quote-page) { color-scheme: light; }
html[data-color-mode="light"] .p360-quote-content a { color: var(--p360-ink); }
html[data-color-mode="light"] .p360-quote-methods input:checked + span { color: var(--p360-ink); }
html[data-color-mode="light"] .p360-quote-dialog::backdrop { background: rgba(8,17,26,.55); }
@media(max-width: 640px) {
  .p360-header__actions { gap: 6px; }
  .p360-color-toggle { min-width: 52px; width: 52px; }
  .p360-color-toggle__scene { width: 52px; }
}
@media(max-width: 380px) {
  .p360-header__inner { gap: 8px; }
  .p360-header .p360-brand { min-width: 0; width: 112px; }
  .p360-menu-toggle__label { position: absolute; display: block; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
}
@media(prefers-reduced-motion: reduce) {
  .p360-color-toggle * { transition: none !important; }
}
html[data-motion="off"] .p360-color-toggle *, html.user-paused-motion .p360-color-toggle * { transition: none !important; }
@media(forced-colors: active) {
  .p360-color-toggle { border: 1px solid ButtonText; }
  .p360-color-toggle__sky { fill: Canvas; stroke: ButtonText; }
  .p360-color-toggle__disc { fill: Highlight; }
  .p360-color-toggle__sun,.p360-color-toggle__moon,.p360-color-toggle__stars { color: ButtonText; }
}
/* Readable text throughout the theme-owned review card and full-review dialog. */
html[data-color-mode="light"] body.p360-site :is(.p360-review-card__excerpt,.p360-review-card__score,.p360-review-card__position,.p360-review-modal__rating-text,.p360-review-modal__position,.p360-review-modal__reply-text) { color: var(--p360-text-dark-muted) !important; }
html[data-color-mode="light"] body.p360-site :is(.p360-review-card__read,.p360-review-modal__reply-label) { color: var(--p360-ink) !important; }
html[data-color-mode="light"] body.p360-site .p360-review-score { background: #fff !important; color: var(--p360-ink) !important; border-color: var(--p360-line) !important; }
html[data-color-mode="light"] body.p360-site :is(.p360-review-score__value,.p360-review-score__summary p) { color: var(--p360-ink) !important; }
html[data-color-mode="light"] body.p360-site .p360-review-score__stars { color: #9b6500 !important; }
html[data-color-mode="light"] .p360-nav__list > li.menu-item-has-children > a::before { color: var(--p360-ink); }
/* Body-level semantic tokens also win over installation-specific token overrides. */
html[data-color-mode="light"] body.p360-site {
  --p360-text-light: var(--p360-ink);
  --p360-text-light-muted: #4f5963;
  --p360-surface-dark: var(--p360-paper);
  --p360-surface-dark-raised: #fff;
  --p360-line-light: rgba(8,17,26,.2);
}
html[data-color-mode="light"] body.p360-site .p360-quote-content > p,
html[data-color-mode="light"] body.p360-site .p360-quote-form :is(small,.p360-quote-note) { color: var(--p360-text-dark-muted) !important; }
html[data-color-mode="light"] body.p360-site .p360-quote-form input::placeholder { color: var(--p360-text-dark-muted) !important; }
