/* Shared action colors follow the published theme; the legacy orange preset
   intentionally uses a neutral action surface. */
:root {
  --action-bg: linear-gradient(135deg, color-mix(in srgb, var(--accent) 84%, white), var(--accent-2));
  --action-hover: linear-gradient(135deg, var(--accent-2), color-mix(in srgb, var(--accent) 70%, white));
  --action-text: var(--button-text, #06101d);
  --action-glow: color-mix(in srgb, var(--accent) 35%, transparent);
}
#site-send-success{position:fixed;z-index:20000;top:calc(env(safe-area-inset-top,0px) + 1rem);left:50%;transform:translateX(-50%);width:min(92vw,32rem);padding:1rem 1.25rem;border-radius:1rem;background:#103b2e;color:#fff;border:1px solid #54dca1;box-shadow:0 16px 45px #0009;text-align:center;font-weight:700}
#site-send-success[hidden]{display:none}
html[data-site-theme="yersen-orange"] {
  --action-bg: linear-gradient(135deg, #e9f1fa, #fff);
  --action-hover: linear-gradient(135deg, #fff, #cfe8ff);
  --action-text: #10243b;
  --action-glow: #aac9ee88;
}
html[data-site-theme="metallic-gold"] {
  --action-bg: linear-gradient(115deg, #1c170b, #50401f 34%, #b88f3e 52%, #3c2f16 74%, #121009);
  --action-hover: linear-gradient(115deg, #241b0a, #8f6c2a 35%, #f5dda0 51%, #8f6c2a 70%, #241b0a);
  --action-text: #fff0c2;
  --action-glow: #d9b76e99;
}
html[data-site-theme="yersen-orange"] { --action-inline: #d9edff; }
:root { --action-inline: var(--accent); }
body.menu-open > .hero-text-toggle,
body > .hero-text-toggle:not(.is-visible) {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
body > .hero-text-toggle {
  background: #e9f1fa !important;
  border-color: #9bb9d4 !important;
  color: #10243b !important;
  box-shadow: 0 5px 18px #0004 !important;
}
body > .hero-text-toggle:hover { background: #fff !important; box-shadow: 0 7px 20px #0005 !important; }
body > .hero-text-toggle .hero-toggle-icon,
body > .hero-text-toggle:hover .hero-toggle-icon {
  color: #10243b !important;
  border-color: #9bb9d4 !important;
  background: #fff !important;
  box-shadow: none !important;
}
.topbar .brand-tag {
  font-size: 10.5px !important;
  line-height: 1.35 !important;
  letter-spacing: .08em !important;
  color: #e9f1fa !important;
}
.topbar .nav-link.active,
.topbar .nav-link:hover,
.mobile-menu a.active { background: color-mix(in srgb, var(--action-glow) 24%, transparent) !important; }
.topbar .nav-link.active::after,
.hero-title::after { background: var(--action-inline) !important; box-shadow: 0 0 10px var(--action-glow) !important; }
.menu-toggle:hover, .menu-toggle.open { border-color: var(--action-inline) !important; background: color-mix(in srgb, var(--action-glow) 25%, transparent) !important; }
#hero .hero-cta .btn-text, #hero .hero-cta .btn-text:hover { color: var(--action-inline) !important; }
#hero .hero-eyebrow, .featured-badge { border-color: var(--action-inline) !important; }
#hero .hero-eyebrow { background: color-mix(in srgb, var(--action-inline) 9%, transparent) !important; }
.quote-modal .qm-eyebrow { color: var(--action-inline) !important; border-color: var(--action-inline) !important; }
.quote-modal .qm-image {
  background: linear-gradient(130deg, color-mix(in srgb, var(--action-inline) 16%, #081321), #081321) !important;
}
.quote-modal .qm-close:hover { background: color-mix(in srgb, var(--action-inline) 16%, #081321) !important; }
.quote-modal .qm-field input:focus,
.quote-modal .qm-field textarea:focus,
.quote-modal .qm-field select:focus { background: color-mix(in srgb, var(--action-inline) 6%, #081321) !important; }
.project-card .pc-badge-meta {
  background: #e9f1fa !important;
  color: #10243b !important;
  box-shadow: 0 4px 12px #0004 !important;
}
.topbar .btn-primary, #hero .btn-primary, #featuredDetail,
.partner-apply-btn, .quote-modal .qm-submit,
.back-to-top, .newsletter button, .project-filter button.active {
  background: var(--action-bg) !important;
  border: 1px solid var(--action-glow) !important;
  color: var(--action-text) !important;
  box-shadow: 0 5px 18px #0004, 0 0 15px var(--action-glow) !important;
  text-shadow: none !important;
}
.topbar .btn-primary:hover, #hero .btn-primary:hover, #featuredDetail:hover,
.partner-apply-btn:hover, .quote-modal .qm-submit:hover,
.back-to-top:hover, .newsletter button:hover, .project-filter button.active:hover {
  background: var(--action-hover) !important;
  box-shadow: 0 7px 20px #0005, 0 0 25px var(--action-glow) !important;
}
@keyframes action-halo {
  0%, 100% { box-shadow: 0 5px 18px #0004, 0 0 8px var(--action-glow); }
  50% { box-shadow: 0 5px 18px #0004, 0 0 22px var(--action-glow); }
}
.topbar .btn-primary, #hero .btn-primary, #featuredDetail,
.partner-apply-btn, .quote-modal .qm-submit, .back-to-top {
  animation: action-halo 3.4s ease-in-out infinite;
}
.btn-primary::before {
  background: linear-gradient(110deg, transparent 20%, #ffffff77 50%, transparent 80%) !important;
  opacity: 1 !important;
  transform: translateX(-125%);
  transition: transform .65s ease !important;
}
.btn-primary:hover::before { transform: translateX(125%); }
html[data-site-theme="metallic-gold"] .btn-primary,
html[data-site-theme="metallic-gold"] #featuredDetail,
html[data-site-theme="metallic-gold"] .partner-apply-btn {
  border-color: #cba756 !important;
  text-shadow: 0 1px 1px #000 !important;
}
html[data-site-theme="metallic-gold"] .section-head h2 .accent,
html[data-site-theme="metallic-gold"] #hero .hero-title .accent {
  background: linear-gradient(100deg, #8c6a28, #fff0ba 42%, #bd943d 72%, #f8df9b);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent !important;
}
@media (prefers-reduced-motion: reduce) {
  .btn-primary::before { transition: none !important; transform: none !important; opacity: 0 !important; }
  .topbar .btn-primary, #hero .btn-primary, #featuredDetail,
  .partner-apply-btn, .quote-modal .qm-submit, .back-to-top { animation: none !important; }
}
.wa-fab:not(:hover) { padding: 0 !important; justify-content: center !important; }
.wa-fab:not(:hover) .wa-label { margin-left: 0 !important; }
.wa-fab:not(:hover) svg { display: block; flex: none; margin-inline: auto; transform: none !important; }
.quote-modal .qm-wa { opacity: 1 !important; }
body:has(#quoteModal.open) .site-audio,
body:has(#mobileMenu.open) .site-audio {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
@media (max-width: 600px) {
  .wa-fab, .wa-fab:hover { width: 56px !important; padding: 0 !important; border-radius: 50% !important; justify-content: center !important; }
  .wa-fab .wa-label { display: none !important; }
  .wa-fab svg { margin: auto !important; transform: none !important; }
  #topbar .nav { display: flex !important; flex: 0 0 auto !important; min-width: auto !important; margin-left: auto !important; }
  #topbar .nav-link { display: none !important; }
  #topbar .nav-link:first-child { display: inline-flex !important; padding: 7px 5px !important; font-size: 10px !important; }
  #topbar .topbar-actions .btn-primary { padding-inline: 7px !important; }
  #topbar .topbar-actions { gap: 5px !important; }
  #topbar .brand { flex: 0 1 auto; min-width: 0; }
  #topbar .brand-tag { display: none !important; }
  #topbar .brand-mark { width: min(var(--cms-logo-mobile-width, 112px), 29vw) !important; }
  #topbar .brand-mark img { max-width: 100% !important; }
  .footer-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 30px !important; }
  .footer .f-col { min-width: 0; width: 100%; overflow-wrap: anywhere; }
  .footer .f-col .brand-mark,
  .footer .f-col .brand-logo-img { max-width: min(100%, 250px) !important; }
  .footer .f-col p, .footer .f-col a { font-size: 14px; line-height: 1.55; }
  .footer .f-col h4 { font-size: 19px; }
  .footer .f-col h5 { font-size: 12px; }
  .footer .newsletter { padding-right: 0 !important; display: flex; width: 100%; }
  .footer .newsletter input { flex: 1 1 auto; min-width: 0; font-size: 14px; }
  .footer .newsletter button { flex: 0 0 auto; font-size: 13px; }
  .footer-bottom { gap: 14px !important; }
}
