/**
 * Free2Flo brand theme — purple & pink from official logo
 * Loaded after style-liberty.css
 */

:root {
  --f2f-purple: #5e2d89;
  --f2f-purple-dark: #4a2470;
  --f2f-purple-light: #7b4399;
  --f2f-pink: #f291b5;
  --f2f-pink-deep: #e86b9a;
  --f2f-lilac-bg: #f7f4fb;
  --f2f-lilac-muted: #efe8f5;

  --primary-color: var(--f2f-purple);
  --heading-color: #3a2258;
  --font-color: #5a5266;
  --bg-color: #ffffff;
  --bg-lightgrey: var(--f2f-lilac-bg);
  --bg-grey: var(--f2f-lilac-muted);
  --border-color-light: #e8dff0;
  --border-color: transparent;
  --dropdown-color: #ffffff;
  --title-color: #3a2258;
  --btn-bg: #e8dff0;

  /* Bootstrap 4 root (used by some utilities) */
  --primary: var(--f2f-purple);
}

[data-theme="dark"] {
  --primary-color: #b88fd9;
  --heading-color: #f3ecfa;
  --font-color: #c9c0d4;
  --bg-color: #1a1224;
  --bg-lightgrey: #241830;
  --bg-grey: #1e1528;
  --border-color-light: rgba(255, 255, 255, 0.12);
  --border-color: rgba(255, 255, 255, 0.15);
  --dropdown-color: #241830;
  --title-color: #f3ecfa;
  --btn-bg: #2d1f3d;
}

html {
  scroll-behavior: smooth;
}

/* Do NOT target `span` or `li` here — it breaks Font Awesome (icons use span.fa). */
body,
html,
button,
input,
select,
label,
textarea,
p {
  font-family: "Nunito", "DM Sans", system-ui, sans-serif !important;
}

/* Font Awesome 4 — restore icon font (must win over any body typography rules) */
.fa,
.fa:before,
i.fa,
span.fa,
.navbar-toggler-icon.fa {
  font-family: FontAwesome !important;
  font-style: normal !important;
  font-weight: normal !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.title-big,
.title-small,
.category-title,
.section-title-left,
.navbar .navbar-brand {
  font-family: "Quicksand", "Nunito", sans-serif !important;
}

/* Bootstrap primary buttons */
.btn-primary {
  background-color: var(--f2f-purple) !important;
  border-color: var(--f2f-purple) !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  background-color: var(--f2f-purple-dark) !important;
  border-color: var(--f2f-purple-dark) !important;
}

.btn-outline-primary {
  color: var(--f2f-purple) !important;
  border-color: var(--f2f-purple) !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active {
  background-color: var(--f2f-purple) !important;
  border-color: var(--f2f-purple) !important;
  color: #fff !important;
}

.text-primary {
  color: var(--f2f-purple) !important;
}

.bg-primary {
  background-color: var(--f2f-purple) !important;
}

a {
  color: var(--f2f-purple);
}

a:hover {
  color: var(--f2f-pink-deep);
}

/* Nav: pink hover, purple active */
.navbar-expand-lg .navbar-nav .nav-link:hover,
.navbar-expand-lg .navbar-nav .nav-link:focus {
  color: var(--f2f-pink-deep) !important;
}

.navbar-expand-lg .navbar-nav .nav-item.active .nav-link,
.navbar-expand-lg .navbar-nav .nav-link.active {
  color: var(--f2f-purple) !important;
}

a.dropdown-item:hover,
a.dropdown-item:focus {
  color: var(--f2f-pink-deep) !important;
}

.navbar .search-right a:hover {
  color: var(--f2f-pink-deep) !important;
}

/* Underline bar on nav links */
a.nav-link:before,
a.dropdown-item:before {
  background: var(--f2f-pink) !important;
}

/* Fix template rule that forces white on generic nav hovers */
nav.navbar .navbar-nav li a:hover {
  color: var(--f2f-pink-deep) !important;
}

/* Logo area */
.navbar .navbar-brand img {
  max-height: 64px;
  width: auto;
  max-width: 220px;
}

/* Section shape divider */
.shape > svg {
  color: var(--f2f-lilac-bg);
}

/* CTA strip with heart */
.w3l-bg:before {
  background-color: var(--f2f-purple) !important;
  opacity: 0.82 !important;
}

.w3l-bg span.fa {
  color: var(--f2f-pink) !important;
}

/* Inner page hero */
.inner-banner:before {
  background: rgba(94, 45, 137, 0.55) !important;
}

.w3l-breadcrumb ul li:nth-child(1):before {
  background-color: var(--f2f-pink) !important;
}

.w3l-breadcrumb ul li a:hover {
  color: var(--f2f-pink) !important;
}

/* Footer shell */
.w3l-footer-main .w3l-sub-footer-content {
  background-image: linear-gradient(
    120deg,
    rgba(62, 28, 92, 0.96),
    rgba(94, 45, 137, 0.92)
  ) !important;
}

.w3l-footer-main .footer-14 .footers20 {
  background: #2d1845 !important;
}

.w3l-footer-main .footer-14 .grids-content p a {
  color: var(--f2f-pink) !important;
}

.w3l-footer-main .footer-14 .grids-content p a:hover {
  color: #fff !important;
}

.w3l-footer-main .footer-14 .column ul li a:hover {
  background: var(--f2f-pink) !important;
}

.w3l-footer-main .footer-14 .grids-content h4:before {
  background: rgba(242, 145, 181, 0.45) !important;
}

/* Home stat numbers */
.timer,
.count-number {
  color: var(--f2f-purple) !important;
}

/* Box cards on home */
.box-wrap h4 a:hover {
  color: var(--f2f-purple) !important;
}

/* Owl testimonial active dot */
.owl-theme .owl-dots .owl-dot.active span,
.owl-theme .owl-dots .owl-dot:hover span {
  background: var(--f2f-pink-deep) !important;
}

/* Middle “facts” band if present */
.middle {
  background: linear-gradient(180deg, var(--f2f-lilac-bg) 0%, #fff 100%);
}

/* Global flash/toast notices */
.f2f-flash-stack {
  position: fixed;
  top: 96px;
  right: 16px;
  width: min(92vw, 480px);
  z-index: 2000;
  display: grid;
  gap: 10px;
}

.f2f-flash {
  border-radius: 10px;
  padding: 12px 14px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.16);
  border: 1px solid transparent;
  font-weight: 600;
  line-height: 1.4;
}

.f2f-flash-success {
  background: #e8f5e9;
  color: #1b5e20;
  border-color: #9bd3a0;
}

.f2f-flash-error {
  background: #ffebee;
  color: #8a1022;
  border-color: #f5aab2;
}

.f2f-flash-list {
  margin: 0;
  padding-left: 1.1rem;
}

@media (max-width: 767.98px) {
  .f2f-flash-stack {
    top: 76px;
    right: 10px;
    left: 10px;
    width: auto;
  }
}
