:root{
  --brand-gold:#bb9b49;
  --brand-dark:#222;
  --brand-light:#f8f9fa;
  --text-color:#333;
  --transition:all .3s ease;
}

body{
  color:var(--text-color);
  background-color:var(--brand-light);
  line-height:1.6;
  overflow-x:hidden;
}

.contact-hero{
  background:linear-gradient(135deg,#000 0%,#333 100%);
}

.contact-hero h1{
  color:#fff;
}

.contact-hero__sub{
  color:var(--brand-gold);
  font-weight:600;
  margin-top:10px;
}

.breadcrumb-item a{
  color:var(--brand-gold);
  text-decoration:none;
}

.breadcrumb-item.active{
  color:var(--brand-gold);
}

.contact-cta-strip{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
  margin:24px auto 0;
  padding:0 15px;
}

.contact-form-card,
.contact-info-card{
  background:#fff;
  border-radius:12px;
  box-shadow:0 3px 12px rgba(0,0,0,.08);
  padding:24px;
}

.form-error-message{
  color:#c00;
  font-weight:700;
  margin-bottom:10px;
}

.minimalDropdown{
  font:inherit;
  font-size:14px;
  font-weight:600;
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  background-image:
    linear-gradient(45deg, transparent 50%, gray 50%),
    linear-gradient(135deg, gray 50%, transparent 50%),
    linear-gradient(to right, #ccc, #ccc);
  background-position:
    calc(100% - 20px) calc(1em + 2px),
    calc(100% - 15px) calc(1em + 2px),
    calc(100% - 2.5em) 0.5em;
  background-size:
    6px 6px,
    6px 6px,
    1px 1.5em;
  background-repeat:no-repeat;
  padding-right:44px;
}

.field-help{
  display:block;
  font-size:12px;
  margin-top:6px;
  color:#666;
}

/* ===== Terms checkbox row fix ===== */
.terms-row{
  display:flex !important;
  align-items:center !important;
  gap:10px;
  margin:0;
  padding:0;
}

.terms-row.form-group{
  display:flex !important;
  align-items:center !important;
}

.terms-row input[type="checkbox"]{
  -webkit-appearance:checkbox !important;
  -moz-appearance:checkbox !important;
  appearance:auto !important;
  display:inline-block !important;
  position:static !important;
  width:16px !important;
  height:16px !important;
  min-width:16px !important;
  min-height:16px !important;
  margin:0 !important;
  padding:0 !important;
  flex:0 0 16px !important;
  opacity:1 !important;
  visibility:visible !important;
  vertical-align:middle !important;
  box-shadow:none !important;
  transform:none !important;
  accent-color:var(--brand-gold);
}

.terms-row label,
.terms-row .terms-label{
  display:inline-block !important;
  position:static !important;
  margin:0 !important;
  padding:0 !important;
  cursor:pointer;
  line-height:1.4;
  color:var(--text-color);
  font-weight:600;
  vertical-align:middle;
}

.terms-row::before,
.terms-row::after,
.terms-row label::before,
.terms-row label::after,
.terms-row .terms-label::before,
.terms-row .terms-label::after{
  content:none !important;
  display:none !important;
  background:none !important;
  border:0 !important;
  box-shadow:none !important;
}

.contact-info-list li{
  margin-bottom:14px;
}

.contact-info-list a{
  color:inherit;
  text-decoration:none;
}

.contact-info-list a:hover{
  color:var(--brand-gold);
}

.business-hours-card{
  margin:22px 0;
  padding:18px;
  background:#fafafa;
  border:1px solid #e8e8e8;
  border-radius:10px;
}

.business-hours-card h3{
  font-size:1.15rem;
  margin-bottom:12px;
  color:#111;
}

.hours-list{
  list-style:none;
  margin:0;
  padding:0;
}

.hours-list li{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:6px 0;
  border-bottom:1px solid #eee;
}

.hours-list li:last-child{
  border-bottom:0;
}

.contact-map{
  border:0;
  border-radius:12px;
  overflow:hidden;
  display:block;
}

/* Sticky CTA mobile */
.sticky-cta{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  display:none;
  gap:8px;
  padding:10px;
  background:rgba(0,0,0,.92);
  z-index:9999;
}

.sticky-cta__btn{
  flex:1;
  text-align:center;
  padding:12px 10px;
  border-radius:12px;
  font-weight:800;
  text-decoration:none;
  line-height:1;
  color:#fff;
  background:var(--brand-gold);
  border:0;
}

.sticky-cta__btn:nth-child(2),
.sticky-cta__btn:nth-child(3){
  background:transparent;
  border:2px solid var(--brand-gold);
  color:var(--brand-gold);
}

.sticky-cta__btn:focus-visible{
  outline:3px solid #fff;
  outline-offset:2px;
}

.sticky-cta__btn:hover{
  filter:brightness(1.05);
}

/* Sticky CTA desktop */
.sticky-cta-desktop{
  position:fixed;
  right:18px;
  bottom:18px;
  display:none;
  gap:10px;
  padding:10px;
  background:rgba(0,0,0,.88);
  border-radius:14px;
  z-index:9999;
  box-shadow:0 10px 30px rgba(0,0,0,.25);
}

.sticky-cta-desktop .sticky-cta__btn{
  flex:0 0 auto;
  min-width:120px;
  padding:12px 14px;
  border-radius:12px;
}

.sticky-cta-desktop .sticky-cta__btn:nth-child(2),
.sticky-cta-desktop .sticky-cta__btn:nth-child(3){
  background:transparent;
  border:2px solid var(--brand-gold);
  color:var(--brand-gold);
}

@media (min-width:769px){
  .sticky-cta-desktop{display:flex;}
}

@media (max-width:768px){
  .sticky-cta{display:flex;}
  body{padding-bottom:70px;}
  .contact-form-card,
  .contact-info-card{
    padding:18px;
  }
}

@media (max-width:575px){
  .contact-cta-strip .btn{
    width:100%;
  }
}