/* PEACH CONNECT v0.5.11 — site-wide CTA semantics and color system.
   Intentionally affects CTA components only; navigation/footer text links,
   cards, editor settings, and typography outside buttons are unchanged.
   CTA destination determines the color; LINE takes priority over contact.
   User-approved colors: internal #396E77, LINE #06C755, contact #E8A06A;
   all CTA label text #fff. */
:root {
  --peach-cta-internal: #396E77;
  --peach-cta-line: #06C755;
  --peach-cta-contact: #E8A06A;
  --peach-cta-text: #FFFFFF;
}
/* Internal destinations, including in-page anchors and blog/service links. */
:is(a,button).button,
:is(a,button).pcnx-button,
:is(a,button).pcn-btn,
:is(a,button).pcpr-button,
:is(a,button).pcpr-plan-button,
:is(a,button).pcw-button:not(.pcw-button--text),
a.sv-cta,
a.service-link,
a.site-cta {
  background:var(--peach-cta-internal) !important;
  border-color:var(--peach-cta-internal) !important;
  color:var(--peach-cta-text) !important;
  background-image:none !important;
}
/* Contact links + form submission.  The home page .js-contact button
   performs navigation using JS; no destination href is available. */
:is(a,button).js-contact,
:is(a,button).pcn-submit,
:is(a,button).pcpr-button--orange,
a.button[href$="/contact/"],a.button[href*="/contact/?"],
a.pcnx-button[href$="/contact/"],a.pcnx-button[href*="/contact/?"],
a.pcn-btn[href$="/contact/"],a.pcn-btn[href*="/contact/?"],
a.pcpr-button[href$="/contact/"],a.pcpr-button[href*="/contact/?"],
a.pcpr-plan-button[href$="/contact/"],a.pcpr-plan-button[href*="/contact/?"],
a.pcw-button[href$="/contact/"],a.pcw-button[href*="/contact/?"],
a.sv-cta[href$="/contact/"],a.service-link[href$="/contact/"],
a.site-cta[href$="/contact/"] {
  background:var(--peach-cta-contact) !important;
  border-color:var(--peach-cta-contact) !important;
  background-image:none !important;
  color:var(--peach-cta-text) !important;
}
/* LINE links: explicit role classes also cover custom official LINE URLs. */
:is(a,button).js-line,
:is(a,button).button--line,
:is(a,button).pcnx-button--line,
:is(a,button).pcn-btn--line,
:is(a,button).pcpr-button--line,
:is(a,button).pcw-button--line,
:is(a,button).peach-fv-button--line,
:is(a,button).sv-top-hero-cta[href],
a.pc-header-line-cta,
:is(a,button).button[href*="lin.ee/"],
:is(a,button).button[href*="line.me/"],
:is(a,button).pcnx-button[href*="lin.ee/"],
:is(a,button).pcnx-button[href*="line.me/"] {
  background:var(--peach-cta-line) !important;
  border-color:var(--peach-cta-line) !important;
  background-image:none !important;
  color:var(--peach-cta-text) !important;
}
/* Header's LINE unconfigured state remains non-clickable and visually muted;
   only the foreground is unified. Do not turn it into a fake CTA. */
.site-header .pc-header-line-cta.is-unconfigured {color:#fff!important}
/* Make visited, hover, and focused CTA labels consistently white.
   Keep semantic logos (such as the LINE mark) as graphics. */
:is(a,button).button:is(:link,:visited,:hover,:focus-visible),
:is(a,button).pcnx-button:is(:link,:visited,:hover,:focus-visible),
:is(a,button).pcn-btn:is(:link,:visited,:hover,:focus-visible),
:is(a,button).pcpr-button:is(:link,:visited,:hover,:focus-visible),
:is(a,button).pcpr-plan-button:is(:link,:visited,:hover,:focus-visible),
:is(a,button).pcw-button:not(.pcw-button--text):is(:link,:visited,:hover,:focus-visible),
a.sv-cta:is(:link,:visited,:hover,:focus-visible),
a.service-link:is(:link,:visited,:hover,:focus-visible),
a.site-cta:is(:link,:visited,:hover,:focus-visible),
a.pc-header-line-cta:is(:link,:visited,:hover,:focus-visible) {
  color:#fff !important;
}
/* Arrows/inline label wrappers often have their own historic text colors. */
:is(.button,.pcnx-button,.pcn-btn,.pcpr-button,.pcpr-plan-button,.pcw-button,.sv-cta,.service-link,.site-cta,.pc-header-line-cta)
 :is(.cta-arrow,.cta-label,.cta-chunk,.pcnx-chevron,.pcn-chevron,.pcw-chevron,.pcpr-chevron,.pc-header-line-label) {
  color:#fff !important;
}
/* Accessible keyboard focus on all three backgrounds. */
:is(a,button).button:focus-visible,
:is(a,button).pcnx-button:focus-visible,
:is(a,button).pcn-btn:focus-visible,
:is(a,button).pcpr-button:focus-visible,
:is(a,button).pcpr-plan-button:focus-visible,
:is(a,button).pcw-button:focus-visible,
a.sv-cta:focus-visible,
a.service-link:focus-visible,
a.site-cta:focus-visible,
a.pc-header-line-cta:focus-visible {
  outline:3px solid #153B42 !important;
  outline-offset:3px;
}
@media (prefers-reduced-motion:reduce) {
  :is(.button,.pcnx-button,.pcn-btn,.pcpr-button,.pcpr-plan-button,.pcw-button,.sv-cta,.service-link,.site-cta):hover {transform:none!important}
}
