:root{
  --calprim-red: #c1121f;
  --calprim-red-dark: #8e0e17;
}

body{
  background: #CD9F51; /* important */
}

/* Branding */
.site-logo{
  width: 42px;
  height: 42px;
  object-fit: contain;
}

/* icones */
.site-icon{
  width: 26px;
  height: 26px;
  object-fit: contain;
}
.topbar{
  background: linear-gradient(0deg, #fff, #fff);
}

/* Bootstrap overrides (simple) */
.btn-primary{
  --bs-btn-bg: var(--calprim-red);
  --bs-btn-border-color: var(--calprim-red);
  --bs-btn-hover-bg: var(--calprim-red-dark);
  --bs-btn-hover-border-color: var(--calprim-red-dark);
  --bs-btn-active-bg: var(--calprim-red-dark);
  --bs-btn-active-border-color: var(--calprim-red-dark);
}
.link-primary{ color: var(--calprim-red) !important; }
.text-primary{ color: var(--calprim-red) !important; }
.border-primary{ border-color: var(--calprim-red) !important; }
.bg-primary{ background-color: var(--calprim-red) !important; }

/* Carousel */
.carousel-img{
  height: 420px;
  object-fit: cover;
}

/* Service picker */
.service-picker{ position: relative; }
.service-picker-btn{ display:flex; align-items:center; gap:.5rem; min-height: 42px; }
.service-picker-menu{
  display: none;
  position: absolute;
  z-index: 20;
  left: 0; right: 0;
  margin-top: .5rem;
  background: #fff;
  border: 1px solid rgba(0,0,0,.125);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
}
.service-picker.open .service-picker-menu{ display:block; }

.service-item{
  width: 100%;
  text-align: left;
  border: 0;
  background: #fff;
  padding: .75rem;
  display:flex;
  gap:.75rem;
  align-items:flex-start;
}
.service-item:hover{ background: #f8f9fa; }

.service-item-img{
  width: 48px;
  height: 48px;
  border-radius: 12px;
  object-fit: cover;
  flex: 0 0 auto;
  border: 1px solid rgba(0,0,0,.08);
}
.service-item-title{ display:block; font-weight: 600; }
.service-item-desc{ display:block; color: #6c757d; font-size: .875rem; }

.is-invalid-border .service-picker-btn{ border-color: #dc3545 !important; }
