/* Align the first menu item exactly with the brand above */
.header-stack .navbar { padding-left: 0 !important; }          /* kill inner navbar left padding */
.header-stack #mainNavbar { margin-left: 0 !important; }        /* kill collapse wrapper left margin (some themes add it) */
.header-stack #mainNavbar .navbar-nav { padding-left: 0 !important; margin-left: 0 !important; }
.header-stack #mainNavbar .nav-item:first-child .nav-link { padding-left: 0 !important; }
/* keep right spacing between items */
.header-stack #mainNavbar .nav-link { padding-right: 1.5rem; }

/* All main navigation links */
#mainNavbar .nav-link {
    font-size: 1.25rem; /* ≈ 20px, adjust as you like */
}

.nav-link,
.nav-link:visited {
  color: #6c63ff !important;
}

.nav-link:hover,
.nav-link:focus {
  color: #6c63ff !important;
  text-decoration: underline; /* optional */
}

/* Remove default hover underline from the whole trigger */
.user-trigger,
.user-trigger:hover,
.user-trigger:focus {
  text-decoration: none;
}

/* Underline ONLY the name on hover/focus */
.user-trigger:hover .user-name,
.user-trigger:focus .user-name {
  text-decoration: underline;
}

/* Make sure avatar never shows any underline/border */
.user-trigger .avatar-wrapper,
.user-trigger .avatar-wrapper img {
  text-decoration: none;
  border-bottom: 0;
}

.hero-section {
    background: #dbd6f4;
    padding-top: 6rem;   /* ~96px */
    padding-bottom: 6rem;
}

.py-6 {
  padding-top: 4.5rem !important;  /* bigger than py-5 */
  padding-bottom: 4.5rem !important;
}

.py-7 {
  padding-top: 6rem !important;
  padding-bottom: 6rem !important;
}

.py-8 {
  padding-top: 7.5rem !important;
  padding-bottom: 7.5rem !important;
}

.py-9 {
  padding-top: 9rem !important;
  padding-bottom: 9rem !important;
}

.py-10 {
  padding-top: 10.5rem !important;
  padding-bottom: 10.5rem !important;
}

.btn-primary {
    background-color: #6c63ff !important;  /* Mystic violet */
    border-color: #6c63ff !important;
    color: #fff !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: #4b3cc4 !important;  /* Darker violet for hover */
    border-color: #4b3cc4 !important;
    color: #fff !important;
}

.btn-outline-primary {
    color: #6c63ff !important;
    border: 2px solid #6c63ff !important;
    background: transparent;
    /* font-weight: 600; */
}

.btn-outline-primary:hover {
    background: #6c63ff !important;
    color: #fff !important;
}

/* Global link style */
a {
    color: #6c63ff;               /* Mystic violet */
    text-decoration: none;        /* Remove underline */
    transition: color 0.2s ease;  /* Smooth hover */
}

/* Hover & focus states */
a:hover,
a:focus {
    color: #4b3cc4;               /* Darker violet */
    text-decoration: underline;   /* Underline only on hover */
}

/* Links inside paragraphs for better readability */
p a {
    font-weight: 500;
    text-decoration: underline;
}

/* Top bar Login link only */
.py-2 .nav .nav-link-login {
  color: #6c63ff !important;   /* brand violet */
  font-weight: 600;
  text-decoration: none;
}

.py-2 .nav .nav-link-login:hover,
.py-2 .nav .nav-link-login:focus {
  color: #4b3cc4 !important;   /* darker on hover */
  text-decoration: underline;
}

/* Inline filter row (desktop: single row with even spacing) */
/* /psychics */
.form-inline-row {
  display: flex;
  align-items: flex-end;
  flex-wrap: nowrap;                 /* keep one line on desktop */
  column-gap: 12px;                  /* even spacing between items */
}

/* Normalize each block */
.form-inline-row > .form-group {
  margin-bottom: 0;
  padding: 0 !important;             /* neutralize pr-2/pl-2/px-2 if present */
}

/* Label spacing consistent */
.form-inline-row label {
  display: block;
  margin-bottom: .25rem;
}

/* Width behavior */
.form-inline-row .fg-grow  { flex: 1 1 auto; min-width: 0; }  /* expands */
.form-inline-row .fg-300   { flex: 0 0 300px; }               /* fixed select */
.form-inline-row .fg-160   { flex: 0 0 160px; }               /* fixed button */

/* Tiny phones: shave widths a bit */
@media (max-width: 375px) {
  .form-inline-row .fg-300 { flex-basis: 260px; }
  .form-inline-row .fg-160 { flex-basis: 140px; }
}

/* Subtle card border (kept from yours) */
.card { border: 1px solid #dee2e6 !important; }

/* Actions group */
.form-inline-row .fg-actions {
  flex: 0 0 auto;
  display: flex;
  align-items: center;     /* center both vertically */
  gap: .75rem;             /* even spacing between Filter and Clear */
  white-space: nowrap;
}
.form-inline-row .fg-actions .clear-link {
  margin: 0;               /* reset extra margin */
  line-height: 1;          /* consistent with button */
  display: inline-block;   /* behave like inline element */
}
/* Mobile: stack nicely, full width with even spacing */
@media (max-width: 768px) {
  .form-inline-row {
    flex-wrap: wrap !important;
    gap: 10px;                       /* even spacing when stacked */
  }
  .form-inline-row .fg-grow,
  .form-inline-row .fg-300,
  .form-inline-row .fg-160,
  .form-inline-row .fg-actions {
    flex: 0 0 100% !important;
    max-width: 100%;
  }
  .form-inline-row .fg-actions {
    justify-content: flex-start;
  }
  .form-inline-row .fg-actions .btn {
    width: 100%;
  }
  .form-inline-row .fg-actions .clear-link {
    display: block;
    text-align: center;
    margin-left: 0;
    margin-top: 4px;
  }
}

/***** End form *********/

/* Boxed hero slab (keeps background within container) */
.profile-hero { padding-top: 2.5rem; }            /* extra top padding */
.profile-hero .hero-box {
  background: linear-gradient(180deg, rgba(108,99,255,.08), rgba(108,99,255,0));
  border: 1px solid #eee;
  border-radius: .75rem;
  padding: 1.25rem;                                /* internal spacing */
}
@media (min-width: 768px){
  .profile-hero { padding-top: 3.5rem; }           /* a bit more on md+ */
  .profile-hero .hero-box { padding: 1.75rem; }
}

/* .profile-hero { background: linear-gradient(180deg, rgba(108,99,255,.08), rgba(108,99,255,0)); } */
.rating-stars { color:#FFD700; font-size:1.1rem; }
.avatar-xl { width: 144px; height: 144px; object-fit: cover; border-radius: .75rem; }
.chip { display:inline-block; padding:.35rem .6rem; border:1px solid #e9ecef; border-radius: 999px; font-size:.875rem; background:#fff; }
.note-muted { color:#6c757d; }
.divider { height:1px; background: #eee; }

/* Testimonial card polish */
.t-card {
  border: 1px solid #eee;
  border-radius: .75rem;
  overflow: hidden;
  background: #fff;
}
.t-accent {
  width: 6px;
  background: linear-gradient(180deg, #6c63ff, #8b85ff);
}
.t-body { padding: 1rem 1.25rem; }
@media (min-width: 768px) {
  .t-body { padding: 1.25rem 1.5rem; }
}
.t-quote {
  font-size: 2.25rem;
  line-height: 1;
  opacity: .15;
}
.t-stars { color: #FFD700; }
.t-meta { color: #6c757d; }

.btn-social{background:#f8f9fa;border:1px solid #e9ecef;color:#343a40;}
.btn-social:hover{background:#eef1ff;border-color:#d6d8ff;color:#2c2a8c;}

.mt-section {
  margin-top: 3rem !important; /* double of mt-4 */
}

/* Add WhatsApp icon automatically, but NOT inside navbar. This modifies the WA number in CKEditor*/
a[href^="https://wa.me/"]:not(.nav-link)::before {
  font-family: "bootstrap-icons";
  content: "\F618";       /* WhatsApp glyph */
  display: inline-flex;   /* behave like flex box */
  align-items: center;    /* vertical centering */
  margin-right: .4rem;
  line-height: 1;
  font-size: 1em;         /* scale to text size */
  vertical-align: middle; /* make sure it sits nicely with text */
}

a[href^="https://wa.me/"] {
  /* color: #198754;          */
  /* text-decoration: none; */
}