/* --- Button element reset + image-based CTA (.button-style-3) --- */
button{overflow:visible;padding:0;border:0;position:relative;outline:0;text-transform:none}
button span{border:0;display:block;white-space:nowrap}
.button-style-3{background-color:transparent;background-image:linear-gradient(to bottom,#ffe666,#ffc71f);border:0;border-radius:999px;box-shadow:0 0 0 2px #4e8f06,inset 0 0 0 2px rgba(255,255,0,.5);height:70px;cursor:pointer;padding:0 15px;box-sizing:border-box;transition:box-shadow .15s ease,filter .15s ease}
.button-style-3:hover{filter:brightness(1.06);box-shadow:0 0 0 2px #4e8f06,inset 0 0 0 2px rgba(255,255,0,.5),0 6px 14px rgba(0,0,0,.18)}
a.button-style-3{display:inline-flex;align-items:center;justify-content:center;text-align:center;max-width:100%;line-height:100%;vertical-align:middle;position:relative}
a.button-style-3 img{vertical-align:middle;display:inline-block;padding:0;max-height:50px;max-width:100%;box-sizing:border-box;width:auto;height:auto}
a.button-style-3 img[src="/img/book-me-for-a-project.png"]{max-height:60px;position:relative;top:3px}
.button-style-3{margin-bottom:10px}
.button-style-3:hover{text-decoration:none!important}
.button-row{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:30px}
.button-row .button-style-3{margin-bottom:0}
@media (max-width:700px){.button-row{flex-direction:column;gap:20px}}
.button-style-3--small{height:47px;padding:0 10px;box-shadow:0 0 0 1px #4e8f06,inset 0 0 0 1px rgba(255,255,0,.5)}
.button-style-3--small:hover{box-shadow:0 0 0 1px #4e8f06,inset 0 0 0 1px rgba(255,255,0,.5),0 4px 10px rgba(0,0,0,.18)}
a.button-style-3--small img{max-height:30px}
.button-style-3--gray{background-image:linear-gradient(to bottom,#e9e9e9,#c6c6c6);box-shadow:0 0 0 1px #7a7a7a,inset 0 0 0 1px rgba(255,255,255,.6)}
.button-style-3--gray:hover{box-shadow:0 0 0 1px #7a7a7a,inset 0 0 0 1px rgba(255,255,255,.6),0 4px 10px rgba(0,0,0,.18)}
.button-style-3--gray-yellow-hover{background-image:linear-gradient(to bottom,#e9e9e9,#c6c6c6);box-shadow:0 0 0 1px #7a7a7a,inset 0 0 0 1px rgba(255,255,255,.6)}
.button-style-3--spaced{margin-top:30px;margin-bottom:30px}
.button-style-3--gray-yellow-hover:hover{filter:none;background-image:linear-gradient(to bottom,#ffe666,#ffc71f);box-shadow:0 0 0 2px #4e8f06,inset 0 0 0 2px rgba(255,255,0,.5),0 6px 14px rgba(0,0,0,.18)}

/* --- css-button (legacy builder button widget) --- */
#content_area .css-button,#content_area a.css-button{text-decoration:none}
#content_area .css-button p,#content_area a.css-button p{margin:0}
.css-button--style-1{line-height:1;text-align:center;text-decoration:none;position:relative!important;display:inline-block!important;border-style:solid}
.css-button--style-1 .css-button__text{padding:0 15px;white-space:normal}
.css-button__text{display:block;position:relative;z-index:1}
.css-button__shine{background:linear-gradient(to bottom,rgba(255,255,255,.25) 0,rgba(255,255,255,.25) 50%,rgba(255,255,255,0) 50%,rgba(255,255,255,0) 100%)}
.css-button:hover .css-button__hover{background:rgba(255,255,255,.15)}
.css-button:active .css-button__active{background:rgba(0,0,0,.15)}
.css-button__active,.css-button__hover,.css-button__shine{width:100%!important;height:100%!important;position:absolute!important;top:0!important;left:0!important}
.css-button--primary{padding:27px 21px;border-color:#4e8f06;border-width:0;border-radius:96px;background:#4e8f06;box-shadow:0 1px 1px 0 rgba(0,0,0,.5),inset 0 0 0 1px rgba(255,255,0,.5)}
.css-button--primary .css-button__text{font-size:32px;color:#e8e8e8;font-weight:bold;text-shadow:#ffff00 0 1px 0}
@media only screen and (max-width:959px){.css-button--style-1{width:100%;padding-left:0!important;padding-right:0!important}}
@media only screen and (max-width:767px){.css-button--style-1{margin-bottom:10px}}

/* --- CTA buttons --- */
.cta-button{

  --cta-bg:#4e8f06;
  --cta-bg-hover:#5aa207;
  --cta-edge:#3a6a04;
  --cta-ring:rgba(255,255,0,.5);
  --cta-text:#eaeaea;
  --cta-text-hover:#fff;
  --cta-arrow:#ffe066;
  --cta-lift:0 1px 0 rgba(255,255,0,.45);
  --cta-edge-h:4px;

  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  box-sizing:border-box;
  max-width:100%;

  margin:20px 0;
  padding:24px 52px;
  background:var(--cta-bg);
  border-radius:96px;
  font-family:"Source Sans Pro","Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:26px;
  font-weight:bold;
  letter-spacing:1px;
  text-transform:uppercase;
  text-align:center;
  text-decoration:none;
  text-shadow:var(--cta-lift);
  line-height:1;
  box-shadow:
    inset 0 0 0 1px var(--cta-ring),
    0 var(--cta-edge-h) 0 var(--cta-edge),
    0 10px 22px rgba(0,0,0,.18);
  transition:background .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease;
}.cta-button--small{
  --cta-edge-h:3px;
  gap:10px;
  padding:13px 30px;
  font-size:16px;
  letter-spacing:.5px;
  box-shadow:
    inset 0 0 0 1px var(--cta-ring),
    0 var(--cta-edge-h) 0 var(--cta-edge),
    0 6px 14px rgba(0,0,0,.16);
}.cta-button,.cta-button:link,.cta-button:visited{color:var(--cta-text)}.cta-button::after{
  content:"→";
  color:var(--cta-arrow);
  font-size:0.95em;
  line-height:1;
  text-shadow:none;
  transition:transform .15s ease;
}.cta-button:hover,.cta-button:hover:visited,.cta-button:focus-visible{
  background:var(--cta-bg-hover);
  color:var(--cta-text-hover);
  text-decoration:none;
  transform:translateY(-2px);
  box-shadow:
    inset 0 0 0 1px var(--cta-ring),
    0 calc(var(--cta-edge-h) + 2px) 0 var(--cta-edge),
    0 16px 28px rgba(0,0,0,.22);
}.cta-button:hover::after{transform:translateX(4px)}.cta-button:active{
  transform:translateY(3px);
  box-shadow:
    inset 0 0 0 1px var(--cta-ring),
    0 1px 0 var(--cta-edge),
    0 4px 10px rgba(0,0,0,.18);
}.cta-button:focus-visible{
  outline:3px solid #ffd633;
  outline-offset:4px;
}@media (max-width:700px){.cta-button{
    width:100%;
    padding:20px 24px;
    font-size:19px;
    letter-spacing:.5px;
  }.cta-button--small{
    width:auto;
    padding:12px 24px;
    font-size:15px;
  }}
