:root{
  /* Brand colors from your Elementor globals */
  --e-global-color-astglobalcolor0:#f36220; /* primary */
  --e-global-color-astglobalcolor1:#E98C00; /* secondary/accent */
  --e-global-color-astglobalcolor2:#0F172A; /* navy/dark */
  --e-global-color-astglobalcolor3:#454F5E; /* slate */
  --e-global-color-astglobalcolor4:#FEF9E1; /* cream */
  --e-global-color-astglobalcolor5:#FFFFFF; /* white */
  --e-global-color-astglobalcolor6:#F9F0C8; /* sand */
  --e-global-color-astglobalcolor7:#141006; /* deep */
  --e-global-color-astglobalcolor8:#222222; /* ink */

  /* Alias tokens used by this scaffold */
  --brand-primary: var(--e-global-color-astglobalcolor0);
  --brand-accent:  var(--e-global-color-astglobalcolor1);
  --brand-dark:    var(--e-global-color-astglobalcolor2);
  --brand-muted:   var(--e-global-color-astglobalcolor3);
  --brand-light:   var(--e-global-color-astglobalcolor4);
  --brand-white:   var(--e-global-color-astglobalcolor5);
  --brand-sand:    var(--e-global-color-astglobalcolor6);
  --brand-deep:    var(--e-global-color-astglobalcolor7);
  --brand-ink:     var(--e-global-color-astglobalcolor8);
}

body{ color: var(--brand-ink); background: var(--brand-white); }
a{ color: var(--brand-primary); }
a:hover{ color: var(--brand-accent); }

.site-header{
  background: linear-gradient(90deg, var(--brand-dark), var(--brand-deep));
}
.site-footer{
  background: var(--brand-dark);
  color: var(--brand-white);
}
.site-footer a{ color: var(--brand-white); }

.brand-mark{
  width:38px;height:38px;border-radius:12px;
  background: var(--brand-primary);
  color: var(--brand-white);
}

.btn-accent{
  background: var(--brand-primary);
  border-color: var(--brand-primary);
  color: var(--brand-white) !important;
}
.btn-accent:hover{
  background: var(--brand-accent);
  border-color: var(--brand-accent);
}

.hero{
  background:
    radial-gradient(1200px 600px at 10% 10%, color-mix(in srgb, var(--brand-primary) 28%, transparent), transparent),
    linear-gradient(135deg, var(--brand-dark), var(--brand-deep));
  color: var(--brand-white);
}

.skip-link{
  position:absolute; left:-999px; top:auto; width:1px;height:1px; overflow:hidden;
}
.skip-link:focus{
  left:1rem; top:1rem; width:auto; height:auto;
  padding:.5rem .75rem;
  background: var(--brand-white);
  color: var(--brand-ink);
  z-index:10000;
  border-radius:.5rem;
  box-shadow:0 6px 24px rgba(0,0,0,.2);
}

a:focus,button:focus,input:focus,textarea:focus,select:focus{
  outline: 3px solid color-mix(in srgb, var(--brand-primary) 55%, transparent);
  outline-offset: 2px;
}

.card-icon{
  width:44px;height:44px;border-radius:14px;
  background: color-mix(in srgb, var(--brand-primary) 14%, transparent);
  display:flex;align-items:center;justify-content:center;
  color: var(--brand-primary);
}

/* Gallery */
.gallery-grid img{
  width:100%;
  height:220px;
  object-fit:cover;
  border-radius:14px;
  background: var(--brand-sand);
}


/* === Brand emphasis + readability tweaks === */
.section-title{
  position:relative;
  padding-bottom:.5rem;
  margin-bottom:1rem;
}
.section-title:after{
  content:"";
  display:block;
  width:84px;
  height:4px;
  border-radius:99px;
  background: var(--brand-primary);
  margin-top:.75rem;
}
.badge-accent{
  background: var(--brand-primary);
  color: var(--brand-white);
}
.card-accent{
  border-top:4px solid var(--brand-primary);
}
.site-footer .text-muted,
.site-footer .small.text-muted{
  color: color-mix(in srgb, var(--brand-white) 78%, transparent) !important;
}
.site-footer hr{
  border-color: color-mix(in srgb, var(--brand-white) 22%, transparent) !important;
}
/* Make Bootstrap "danger" accents align with brand orange within our pages */
.text-danger{ color: var(--brand-primary) !important; }
.btn-outline-light:hover{
  color: var(--brand-ink) !important;
  background: var(--brand-light) !important;
}


/* === Brand orange background sections === */
.bg-brand-orange{
  background: var(--brand-primary);
  color: var(--brand-white);
}
.bg-brand-orange a{
  color: var(--brand-white);
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, var(--brand-white) 60%, transparent);
}
.bg-brand-orange a:hover{ color: var(--brand-light); }
.bg-brand-orange .text-muted{
  color: color-mix(in srgb, var(--brand-white) 82%, transparent) !important;
}
.bg-brand-orange .btn-outline-light{
  border-color: color-mix(in srgb, var(--brand-white) 70%, transparent);
}
.bg-brand-orange .btn-outline-light:hover{
  background: var(--brand-white) !important;
  color: var(--brand-ink) !important;
}

/* Footer contrast fixes */
.site-footer .text-muted,
.site-footer .small.text-muted{
  color: color-mix(in srgb, var(--brand-white) 85%, transparent) !important;
}
.site-footer hr{
  border-color: color-mix(in srgb, var(--brand-white) 22%, transparent) !important;
}

/* Header logo sizing */
.site-logo-header{
  max-height: 91px;
  width: auto;
}
@media (min-width: 992px){
  .site-logo-header{ max-height: 117px; }
}

/* Footer logo shown as white via filter (works on dark footer) */
.site-logo-footer-white{
  width: 253px;
  height: auto;
}

/* Footer copyright readability */
.footer-copyright{
  color: color-mix(in srgb, var(--brand-white) 92%, transparent) !important;
}

/* Stronger orange presence */
.section-title:after{ background: var(--brand-primary) !important; }


/* === Text color corrections === */
.bg-white,
.bg-light{
  color: #000 !important;
}
.bg-white p,
.bg-white li,
.bg-white span,
.bg-white div,
.bg-light p,
.bg-light li,
.bg-light span,
.bg-light div{
  color: #000 !important;
}


/* === Reviews: gold stars === */
.review-stars{ color: #D4AF37 !important; }


/* === Phone link visibility === */
a.phone-link{
  color: #000 !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.bg-brand-orange a.phone-link{
  color: #fff !important;
  text-decoration-color: rgba(255,255,255,.7);
}
.bg-brand-orange a.phone-link:hover{ color: var(--brand-light) !important; }
