/* Shared Sunnyrex CTA treatment: yellow outline, never a yellow fill. */
:root { --srx-button-yellow: #dfbf00; --srx-button-ink: #806b00; --srx-button-yellow-on-dark: #ffe34d; }

body:not(#srx-button-specificity) :is(.header-cta, a.button, button.button, .business-pill, .products-contact,
      .srx-action-button, .srx-clean-contact, .srx-clean-btn,
      .srx-form-link, .mobile-contact-form, input[type="submit"], button[type="submit"]),
.hero-actions .text-link {
  background: transparent !important;
  border: 1px solid var(--srx-button-yellow) !important;
  border-radius: 999px !important;
  color: var(--srx-button-ink) !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

body:not(#srx-button-specificity) :is(.header-cta, a.button, button.button, .business-pill, .products-contact,
      .srx-action-button, .srx-clean-contact, .srx-clean-btn,
      .srx-form-link, .mobile-contact-form, input[type="submit"], button[type="submit"]):hover,
.hero-actions .text-link:hover {
  background: transparent !important;
  border-color: #b99d00 !important;
  color: #665600 !important;
  box-shadow: none !important;
}

/* The photo and dark CTA panels need the brighter yellow for legibility. */
body:not(#srx-button-specificity) :is(.hero, .inner-hero, .bulk-intro, .closing, .inner-cta, .srx-prefter-cta,
    .srx-clean-final, .srx-company-recruit-link)
  :is(a.button, .text-link, .srx-action-button, .srx-clean-btn) {
  border-color: var(--srx-button-yellow-on-dark) !important;
  color: var(--srx-button-yellow-on-dark) !important;
}
body:not(#srx-button-specificity) :is(.hero, .inner-hero, .bulk-intro, .closing, .inner-cta, .srx-prefter-cta,
    .srx-clean-final, .srx-company-recruit-link)
  :is(a.button, .text-link, .srx-action-button, .srx-clean-btn):hover {
  border-color: #fff08b !important;
  color: #fff08b !important;
}

/* Keep the shared example's compact capsule form. */
:is(.header-cta, .hero-actions .button, .closing-actions .button,
    .srx-action-button, .srx-clean-contact, .srx-clean-btn,
    .hero-actions .text-link) { padding-inline: 20px !important; }
.hero-actions .text-link { display: inline-flex; align-items: center; min-height: 52px; }
.srx-action-button.is-primary::before { display: none !important; }

/* English and Chinese heroes use a pale background. */
html:not([lang="ja"]) body:not(#srx-button-specificity) :is(.inner-hero, .bulk-intro) :is(a.button, .text-link) {
  border-color: var(--srx-button-yellow) !important;
  color: var(--srx-button-ink) !important;
}
html:not([lang="ja"]) body:not(#srx-button-specificity) :is(.inner-hero, .bulk-intro) :is(a.button, .text-link):hover {
  border-color: #b99d00 !important;
  color: #665600 !important;
}

/* The mobile inquiry dock has a white background; use the existing readable ink. */
body:not(#srx-button-specificity) #srx-contact-dock .srx-form-link,
body:not(#srx-button-specificity) #srx-contact-dock .srx-form-link:hover {
  border-color: var(--srx-button-yellow-on-dark) !important;
  color: var(--srx-button-ink) !important;
}

/* Disabled submit controls remain visibly disabled. */
input[type="submit"]:disabled, button[type="submit"]:disabled { opacity: .45; cursor: not-allowed; }

/* Main calls to action use the same text scale on home and inner pages. */
body:not(#srx-button-specificity) :is(a.button, button.button) { font-size:15px !important; }
@media(max-width:700px){
  body:not(#srx-button-specificity) :is(a.button, button.button) { font-size:14px !important; }
}

/* Action links previously presented as underlines share the same capsule. */
body:not(#srx-button-specificity) :is(.text-link, .underlink, .bulk-product-link, .closing-phone) {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 9px 17px !important;
  background: transparent !important;
  border: 1px solid var(--srx-button-yellow) !important;
  border-radius: 999px !important;
  color: var(--srx-button-ink) !important;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none !important;
}
body:not(#srx-button-specificity) :is(.text-link, .underlink, .bulk-product-link, .closing-phone):hover {
  background: transparent !important;
  border-color: #b99d00 !important;
  color: #665600 !important;
}
body:not(#srx-button-specificity) :is(.hero, .closing, .inner-hero, .bulk-intro, .bulk-finish)
  :is(.text-link, .underlink, .bulk-product-link, .closing-phone) {
  border-color: var(--srx-button-yellow-on-dark) !important;
  color: var(--srx-button-yellow-on-dark) !important;
}
html:not([lang="ja"]) body:not(#srx-button-specificity) .bulk-intro :is(.text-link, .underlink) {
  border-color: var(--srx-button-yellow) !important;
  color: var(--srx-button-ink) !important;
}
.products-actions .products-more::before {
  content: "›";
  margin-right: 12px;
  font: 400 23px/.6 Arial, sans-serif;
  transform: translateY(-1px);
}

/* Product-list CTAs share one scale; the header and mobile dock keep compact labels. */
body:not(#srx-button-specificity) main :is(a.srx-list-cta, #site-contact button[type="submit"], .srx-quick-inquiry button[type="submit"]) {
  display:inline-flex!important;align-items:center;justify-content:center;box-sizing:border-box;
  min-height:52px!important;height:auto;max-width:100%;padding:12px 22px!important;
  font-family:inherit;font-size:15px!important;font-weight:700!important;line-height:1.5!important;
  letter-spacing:.02em;gap:10px;white-space:normal;text-align:center;
}
body:not(#srx-button-specificity) main a.srx-list-cta {
  border:1px solid var(--srx-button-yellow)!important;border-radius:999px!important;
  background:transparent!important;color:var(--srx-button-ink)!important;text-decoration:none;
}
body:not(#srx-button-specificity) main a.srx-list-cta::before {content:"›";font:400 22px/1 Arial,sans-serif;flex:none;}
body:not(#srx-button-specificity) main a.srx-list-cta::after,
body:not(#srx-button-specificity) main a.srx-list-cta>span[aria-hidden="true"] {display:none!important;}
body:not(#srx-button-specificity) main a.srx-list-cta:hover {border-color:#b99d00!important;color:#665600!important;}
body:not(#srx-button-specificity) main :is(.hero,.closing,.inner-hero,.inner-cta) a.srx-list-cta {border-color:var(--srx-button-yellow-on-dark)!important;color:var(--srx-button-yellow-on-dark)!important;}
body:not(#srx-button-specificity) main :is(.hero,.closing,.inner-hero,.inner-cta) a.srx-list-cta:hover {border-color:#fff08b!important;color:#fff08b!important;}
html:not([lang="ja"]) body:not(#srx-button-specificity) main :is(.inner-hero,.bulk-intro) a.srx-list-cta {border-color:var(--srx-button-yellow)!important;color:var(--srx-button-ink)!important;}
body:not(#srx-button-specificity) main :is(a.srx-list-cta,#site-contact button[type="submit"],.srx-quick-inquiry button[type="submit"]):focus-visible {outline:2px solid currentColor;outline-offset:4px;}
@media(max-width:700px){body:not(#srx-button-specificity) main :is(a.srx-list-cta,#site-contact button[type="submit"],.srx-quick-inquiry button[type="submit"]) {font-size:14px!important;padding-inline:18px!important;}}

/* Line wrapping only: retain existing typography, dimensions, color and spacing. */
main :is(h1,h2,h3,h4){text-wrap:balance}
main :is(p,dd,li){text-wrap:pretty}
main :is(h1,h2,h3,h4,p,dt,dd,li,a):lang(ja){word-break:auto-phrase;line-break:strict}
html:lang(zh) main :is(p,dd,li){text-wrap:balance!important;line-break:strict}
main a{text-wrap:pretty}
main h1:lang(en){text-wrap:pretty}
main h2:lang(en):has(br){text-wrap:pretty}
html:lang(zh) .srx-solicitation-notice{white-space:normal}
html:lang(zh) .inner-section:has(.message-copy) h2 br{display:none}
html:lang(zh) .inner-section:has(.message-copy) h2{text-wrap:pretty!important}

.srx-keep-phrase{display:inline-block;white-space:nowrap}
