/* Transportation Platform premium button theme
   Gold primary + Executive Green secondary
   Drop-in replacement for assets/css/platform/buttons.css */
:root{
  --button-gold:#C8A75A;
  --button-gold-hover:#D5B56A;
  --button-gold-active:#B9913F;
  --button-green:#2E5E3E;
  --button-green-hover:#3A734B;
  --button-green-active:#244B32;
  --button-ink:#172033;
  --button-white:#FFFFFF;
  --button-focus:#F2CD75;
  --button-shadow:0 8px 22px rgba(23,32,51,.18);
  --button-shadow-hover:0 12px 28px rgba(23,32,51,.26);
}

html body :is(a,button,input).btn{
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  min-height:46px;
  padding:.84rem 1.28rem;
  border:1px solid transparent;
  border-radius:.72rem;
  text-decoration:none;
  font:inherit;
  font-weight:850;
  line-height:1.15;
  letter-spacing:.01em;
  cursor:pointer;
  text-shadow:none;
  box-shadow:var(--button-shadow);
  transition:background-color .22s ease,border-color .22s ease,color .22s ease,box-shadow .22s ease,transform .22s ease;
}

/* Primary action: rich gold */
html body :is(a,button,input).btn.btn-primary{
  background:var(--button-gold)!important;
  border-color:var(--button-gold-active)!important;
  color:var(--button-ink)!important;
  -webkit-text-fill-color:var(--button-ink)!important;
}
html body :is(a,button,input).btn.btn-primary:hover{
  background:var(--button-gold-hover)!important;
  border-color:var(--button-gold)!important;
  color:var(--button-ink)!important;
  -webkit-text-fill-color:var(--button-ink)!important;
  box-shadow:var(--button-shadow-hover);
  transform:translateY(-2px);
}
html body :is(a,button,input).btn.btn-primary:active{
  background:var(--button-gold-active)!important;
  border-color:var(--button-gold-active)!important;
  color:var(--button-ink)!important;
  -webkit-text-fill-color:var(--button-ink)!important;
  transform:translateY(0);
}

/* Secondary action: executive green */
html body :is(a,button,input).btn.btn-secondary{
  background:var(--button-green)!important;
  border-color:var(--button-green)!important;
  color:var(--button-white)!important;
  -webkit-text-fill-color:var(--button-white)!important;
}
html body :is(a,button,input).btn.btn-secondary:hover{
  background:var(--button-green-hover)!important;
  border-color:var(--button-green-hover)!important;
  color:var(--button-white)!important;
  -webkit-text-fill-color:var(--button-white)!important;
  box-shadow:0 12px 28px rgba(46,94,62,.30);
  transform:translateY(-2px);
}
html body :is(a,button,input).btn.btn-secondary:active{
  background:var(--button-green-active)!important;
  border-color:var(--button-green-active)!important;
  color:var(--button-white)!important;
  -webkit-text-fill-color:var(--button-white)!important;
  transform:translateY(0);
}

html body :is(a,button,input).btn:focus-visible{
  outline:3px solid var(--button-focus)!important;
  outline-offset:3px!important;
  box-shadow:var(--button-shadow-hover)!important;
}
html body :is(a,button,input).btn:disabled,
html body :is(a,button,input).btn[aria-disabled="true"]{
  cursor:not-allowed;
  opacity:.62;
  transform:none!important;
  box-shadow:none!important;
}

html body .btn.small,
html body header .nav>.btn{
  min-height:40px;
  padding:.64rem .96rem;
  font-size:.9rem;
}

/* Mobile action bar: Call = green, Quote = gold */
html body .mobilebar a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  font-weight:900;
  text-decoration:none;
  border:0;
  text-shadow:none;
}
html body .mobilebar a:first-child{
  background:var(--button-green)!important;
  color:var(--button-white)!important;
  -webkit-text-fill-color:var(--button-white)!important;
}
html body .mobilebar a:last-child{
  background:var(--button-gold)!important;
  color:var(--button-ink)!important;
  -webkit-text-fill-color:var(--button-ink)!important;
}
html body .mobilebar a:first-child:hover,
html body .mobilebar a:first-child:focus-visible{
  background:var(--button-green-hover)!important;
  color:var(--button-white)!important;
  -webkit-text-fill-color:var(--button-white)!important;
}
html body .mobilebar a:last-child:hover,
html body .mobilebar a:last-child:focus-visible{
  background:var(--button-gold-hover)!important;
  color:var(--button-ink)!important;
  -webkit-text-fill-color:var(--button-ink)!important;
}

@media(max-width:640px){
  html body :is(.actions,.hero-actions,.cta-actions,.micro-actions){align-items:stretch}
  html body :is(.actions,.hero-actions,.cta-actions,.micro-actions) .btn{width:100%}
}

@media(prefers-reduced-motion:reduce){
  html body :is(a,button,input).btn{transition:none}
  html body :is(a,button,input).btn:hover{transform:none}
}
