:root {
  --cx-primary: #f52f6e;
  --cx-primary-rgb: 245, 47, 110;
  --cx-gradient-from-color: #f52f6e;
  --cx-gradient-to-color: #f42aa3;
  --cx-link-color: #f52f6e;
  --cx-link-hover-color: #e60b51;
}
.btn-primary {
  --cx-btn-bg: #f52f6e;
  --cx-btn-border-color: #f52f6e;
  --cx-btn-hover-bg: #f20c55;
  --cx-btn-active-bg: #f20c55;
  --cx-btn-hover-border-color: #f20c55;
  --cx-btn-active-border-color: #f20c55;
}
.btn-outline-primary {
  --cx-btn-color: #f52f6e;
  --cx-btn-border-color: rgba(245,47,110,.4);
  --cx-btn-hover-bg: #f52f6e;
  --cx-btn-active-bg: #f52f6e;
  --cx-btn-hover-border-color: #f52f6e;
  --cx-btn-active-border-color: #f52f6e;
}
.btn-scroll-top {
  --cx-btn-scroll-top-bg: #f52f6e;
  --cx-btn-scroll-top-hover-bg: #f20c55;
}

/* Contact info sidebar */
.gb-contact-label {
  font-size: .7rem; font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase; color: #aaa; margin-bottom: .25rem;
}
.gb-contact-val {
  font-size: .95rem; color: #1a1a2e; font-weight: 600;
  text-decoration: none;
}
.gb-contact-val:hover { color: #f52f6e; }

/* Dark hero fact columns */
.gb-dark-fact { padding: .75rem 1rem; border: 1px solid rgba(255,255,255,.09); border-radius: 10px; }
.gb-dark-fact-icon {
  width: 32px; height: 32px; border-radius: 50%;
  background: rgba(245,47,110,.18); display: flex; align-items: center;
  justify-content: center; color: #f52f6e; font-size: .8rem;
  margin-bottom: .4rem;
}
.gb-dark-fact-val {
  display: block; font-size: .78rem; color: rgba(255,255,255,.75);
  font-weight: 500; line-height: 1.4; text-decoration: none; word-break: break-word;
}
.gb-dark-fact-val:hover { color: #f52f6e; }

/* Expect list */
.gb-expect-item {
  display: flex; align-items: flex-start; gap: .6rem;
  margin-bottom: .75rem;
}
.gb-expect-icon {
  width: 28px; height: 28px; border-radius: 50%;
  background: rgba(245,47,110,.1); display: flex; align-items: center;
  justify-content: center; color: #f52f6e; font-size: .75rem; flex-shrink: 0;
  margin-top: .15rem;
}
.gb-expect-text { font-size: .85rem; color: #666; line-height: 1.55; }

/* Service checkboxes */
.gb-service-check { display: flex; flex-wrap: wrap; gap: .5rem; }
.gb-service-check input { display: none; }
.gb-service-check label {
  display: inline-flex; align-items: center; gap: .3rem;
  padding: .35rem .8rem; border-radius: 20px; border: 1px solid rgba(0,0,0,.12);
  font-size: .82rem; font-weight: 600; cursor: pointer; color: #555;
  transition: border-color .15s, background .15s, color .15s;
}
.gb-service-check input:checked + label {
  border-color: #f52f6e; background: rgba(245,47,110,.08); color: #f52f6e;
}

/* Form type toggle */
.gb-form-toggle { display: flex; gap: .75rem; flex-wrap: wrap; }
.gb-form-toggle input[type="radio"] { display: none; }
.gb-form-toggle label {
  flex: 1; min-width: 200px; display: flex; align-items: center; gap: .6rem;
  padding: .75rem 1.1rem; border: 2px solid rgba(0,0,0,.1); border-radius: 10px;
  cursor: pointer; font-weight: 600; font-size: .9rem; color: #555;
  transition: border-color .15s, background .15s, color .15s;
}
.gb-form-toggle label .gb-toggle-dot {
  width: 18px; height: 18px; border-radius: 50%; border: 2px solid #ccc;
  flex-shrink: 0; display: flex; align-items: center; justify-content: center;
  transition: border-color .15s;
}
.gb-form-toggle label .gb-toggle-dot::after {
  content: ''; width: 8px; height: 8px; border-radius: 50%;
  background: #f52f6e; opacity: 0; transition: opacity .15s;
}
.gb-form-toggle input[type="radio"]:checked + label {
  border-color: #f52f6e; background: rgba(245,47,110,.06); color: #1a1a2e;
}
.gb-form-toggle input[type="radio"]:checked + label .gb-toggle-dot {
  border-color: #f52f6e;
}
.gb-form-toggle input[type="radio"]:checked + label .gb-toggle-dot::after {
  opacity: 1;
}

/* Success banner */
.gb-success-banner {
  background: rgba(12,206,107,.1); border: 1px solid rgba(12,206,107,.3);
  border-radius: 12px; padding: 1.5rem 2rem; text-align: center;
}

/* Page loading */
.page-loading { position: fixed; inset: 0; background: #fff; opacity: 0; visibility: hidden; transition: all .4s .2s; z-index: 9999; }
.page-loading.active { opacity: 1; visibility: visible; }
.page-loading-inner { position: absolute; top: 50%; left: 0; width: 100%; text-align: center; transform: translateY(-50%); opacity: 0; transition: opacity .2s; }
.page-loading.active > .page-loading-inner { opacity: 1; }
.page-loading-inner > span { display: block; font-size: 1rem; color: #787a80; }
.page-spinner { display: inline-block; width: 2.75rem; height: 2.75rem; margin-bottom: .75rem; background: #cfcfd1; border-radius: 50%; opacity: 0; animation: spinner .75s linear infinite; }
@keyframes spinner { 0% { transform: scale(0); } 50% { opacity: 1; transform: none; } }

/* ── Keep navbar dark when stuck/scrolled on this page ── */
.navbar-stuck {
  background-color: #0e0c12 !important;
  box-shadow: 0 4px 24px rgba(0,0,0,.45) !important;
}
.navbar-stuck .nav-link {
  color: rgba(255,255,255,.75) !important;
}
.navbar-stuck .nav-link:hover {
  color: #fff !important;
}
.navbar-stuck .nav-link.active {
  color: #f52f6e !important;
}
