/* site_actions_canonical_v1.css
   Single authority for sitewide CTA behavior after the shell reset.
   Purpose: make buttons consistent across header, page content, footer, and narrow-view stacks.
   This file is loaded last on purpose so old polish files stop steering button presentation. */

:root{
  --d365-cta-text: #eef4fd;
  --d365-cta-text-strong: #f7fbff;
  --d365-cta-primary-top: #1b2e47;
  --d365-cta-primary-bottom: #13243a;
  --d365-cta-primary-border: #4a6d92;
  --d365-cta-primary-shadow: 0 14px 30px rgba(0,0,0,.26);
  --d365-cta-primary-shadow-hover: 0 18px 36px rgba(0,0,0,.30);
  --d365-cta-secondary-bg: rgba(10,18,30,.38);
  --d365-cta-secondary-bg-hover: rgba(28,43,65,.46);
  --d365-cta-secondary-border: #41607f;
  --d365-cta-secondary-border-hover: #5b7d9f;
  --d365-cta-radius: 12px;
  --d365-cta-minh: 48px;
  --d365-cta-pad-x: 20px;
  --d365-cta-font: 15px;
}

/* only actual action controls become buttons */
.btn:not(.menu-btn),
.navcta,
.navcta:visited{
  appearance:none !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:.45rem !important;
  min-height:var(--d365-cta-minh) !important;
  padding:13px var(--d365-cta-pad-x) !important;
  border-radius:var(--d365-cta-radius) !important;
  border:1px solid transparent !important;
  font:inherit !important;
  font-size:var(--d365-cta-font) !important;
  font-weight:650 !important;
  line-height:1.15 !important;
  letter-spacing:.01em !important;
  text-decoration:none !important;
  cursor:pointer !important;
  white-space:nowrap !important;
  transition:
    transform 160ms ease,
    border-color 160ms ease,
    background 160ms ease,
    box-shadow 160ms ease,
    color 160ms ease !important;
}

.btn:not(.menu-btn):hover,
.navcta:hover{
  transform:translateY(-1px) !important;
  text-decoration:none !important;
}

.btn:not(.menu-btn):active,
.navcta:active{
  transform:translateY(0) !important;
}

.btn:not(.menu-btn):focus-visible,
.navcta:focus-visible{
  outline:2px solid rgba(150,194,244,.42) !important;
  outline-offset:2px !important;
}

/* dominant actions: intake, contact, primary routing */
header .navcta,
header .navcta:visited,
.site-main .btn.secondary,
.site-main .btn.primary,
.site-main .btn.btn-main,
footer.site .footer-mobile-nav-stack .navcta,
.menu-panel .navcta-mobile,
.menu-panel .navcta-mobile:visited{
  color:var(--d365-cta-text) !important;
  background:linear-gradient(180deg, var(--d365-cta-primary-top) 0%, var(--d365-cta-primary-bottom) 100%) !important;
  border-color:var(--d365-cta-primary-border) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    var(--d365-cta-primary-shadow) !important;
}

header .navcta,
header .navcta:visited{
  background:linear-gradient(180deg, #203754 0%, #182a42 100%) !important;
  border-color:#5d83aa !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 12px 28px rgba(0,0,0,.24),
    0 0 0 1px rgba(120,170,220,.10) !important;
}

header .navcta:hover,
header .navcta:focus-visible,
.site-main .btn.secondary:hover,
.site-main .btn.secondary:focus-visible,
.site-main .btn.primary:hover,
.site-main .btn.primary:focus-visible,
.site-main .btn.btn-main:hover,
.site-main .btn.btn-main:focus-visible,
footer.site .footer-mobile-nav-stack .navcta:hover,
footer.site .footer-mobile-nav-stack .navcta:focus-visible,
.menu-panel .navcta-mobile:hover,
.menu-panel .navcta-mobile:focus-visible{
  color:var(--d365-cta-text-strong) !important;
  background:linear-gradient(180deg, #243d5f 0%, #1a2e49 100%) !important;
  border-color:#6e95bd !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    var(--d365-cta-primary-shadow-hover) !important;
}

/* restrained actions: downloads, alternate paths, supporting navigation */
.site-main .btn:not(.menu-btn):not(.secondary):not(.primary):not(.btn-main),
.site-main .btn.btn-sub,
.site-main .btn.ghost,
.site-main .btn.btn-secondary,
.site-main .btn.email-black,
.navcta.ghost{
  color:#e2ebf7 !important;
  background:var(--d365-cta-secondary-bg) !important;
  border-color:var(--d365-cta-secondary-border) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03) !important;
}

.site-main .btn:not(.menu-btn):not(.secondary):not(.primary):not(.btn-main):hover,
.site-main .btn:not(.menu-btn):not(.secondary):not(.primary):not(.btn-main):focus-visible,
.site-main .btn.btn-sub:hover,
.site-main .btn.btn-sub:focus-visible,
.site-main .btn.ghost:hover,
.site-main .btn.ghost:focus-visible,
.site-main .btn.btn-secondary:hover,
.site-main .btn.btn-secondary:focus-visible,
.site-main .btn.email-black:hover,
.site-main .btn.email-black:focus-visible,
.navcta.ghost:hover,
.navcta.ghost:focus-visible{
  color:#f2f7ff !important;
  background:var(--d365-cta-secondary-bg-hover) !important;
  border-color:var(--d365-cta-secondary-border-hover) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04),
    0 10px 22px rgba(0,0,0,.18) !important;
}

/* rows and stacks */
.button-polish-row,
.btnbar,
.home-actions,
.home-bottom-actions,
.hero-cta-row,
.cta-row,
.cta-stack,
.button-row,
.button-group,
.aside-cta-row,
.biglaw-cta-row,
.counsel-actions,
.footer-mobile-nav-stack{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:14px !important;
  align-items:center !important;
}

.dep-aside-cta .btn,
.btnbar .btn,
.button-row .btn,
.button-group .btn,
.hero-cta-row .btn,
.cta-row .btn,
.cta-stack .btn,
.aside-cta-row .btn,
.biglaw-cta-row .btn{
  margin:0 !important;
}

/* text links remain text links */
.site-main p a:not([class]),
.site-main li a:not([class]),
.site-main .small a:not([class]){
  text-decoration:underline !important;
  text-underline-offset:3px !important;
  text-decoration-thickness:1px !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

/* mobile: stack CTAs full width, keep header/menu deliberate */
@media (max-width: 860px){
  .button-polish-row,
  .btnbar,
  .home-actions,
  .home-bottom-actions,
  .hero-cta-row,
  .cta-row,
  .cta-stack,
  .button-row,
  .button-group,
  .aside-cta-row,
  .biglaw-cta-row,
  .counsel-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    align-items:stretch !important;
  }

  .button-polish-row .btn:not(.menu-btn),
  .btnbar .btn:not(.menu-btn),
  .home-actions .btn:not(.menu-btn),
  .home-bottom-actions .btn:not(.menu-btn),
  .hero-cta-row .btn:not(.menu-btn),
  .cta-row .btn:not(.menu-btn),
  .cta-stack .btn:not(.menu-btn),
  .button-row .btn:not(.menu-btn),
  .button-group .btn:not(.menu-btn),
  .aside-cta-row .btn:not(.menu-btn),
  .biglaw-cta-row .btn:not(.menu-btn),
  .counsel-actions .btn:not(.menu-btn),
  .button-polish-row .navcta,
  .btnbar .navcta,
  .home-actions .navcta,
  .home-bottom-actions .navcta,
  .hero-cta-row .navcta,
  .cta-row .navcta,
  .cta-stack .navcta,
  .button-row .navcta,
  .button-group .navcta,
  .aside-cta-row .navcta,
  .biglaw-cta-row .navcta,
  .counsel-actions .navcta{
    width:100% !important;
    min-height:50px !important;
    justify-content:center !important;
  }

  header .menu-panel .navcta-mobile,
  header .menu-panel .navcta-mobile:visited{
    display:flex !important;
    width:100% !important;
    min-height:50px !important;
    margin-top:10px !important;
    justify-content:center !important;
  }
}

/* narrow mobile menu CTA spacing */
header .menu-panel .menu-cta-wrap{
  padding-top:10px;
}
