/* ============================================================
   Ψυχολογικό Check-Up — Bootstrap 5.3 Theme (drop-in)
   Load AFTER bootstrap.min.css and AFTER tokens.css + fonts.css.
   Works over the stock Bootstrap CDN — no SCSS recompile needed.
   (If you DO compile Bootstrap from source, prefer scss/_brand.scss.)
   ============================================================ */

/* ---- 1. Re-map Bootstrap's CSS variables ------------------- */
:root,
[data-bs-theme="light"] {
  --bs-primary:        #768760;
  --bs-primary-rgb:    118,135,96;
  --bs-secondary:      #c5a572;
  --bs-secondary-rgb:  197,165,114;
  --bs-success:        #5e6d4d;
  --bs-success-rgb:    94,109,77;
  --bs-info:           #6f8aa6;
  --bs-info-rgb:       111,138,166;
  --bs-warning:        #c5a572;
  --bs-warning-rgb:    197,165,114;
  --bs-danger:         #a8584e;
  --bs-danger-rgb:     168,88,78;

  --bs-body-bg:        #f5f1e6;
  --bs-body-color:     #1f2118;
  --bs-body-color-rgb: 31,33,24;
  --bs-emphasis-color: #1d2117;
  --bs-secondary-color: rgba(31,33,24,.62);
  --bs-tertiary-bg:    #fbf8f1;
  --bs-border-color:   rgba(31,33,24,.12);

  --bs-link-color:        #5e6d4d;
  --bs-link-color-rgb:    94,109,77;
  --bs-link-hover-color:  #475339;

  --bs-font-sans-serif: "Manrope", system-ui, "Helvetica Neue", Arial, sans-serif;
  --bs-body-font-family: var(--bs-font-sans-serif);
  --bs-body-font-size:   1rem;
  --bs-body-line-height: 1.65;

  --bs-border-radius:    4px;
  --bs-border-radius-sm: 2px;
  --bs-border-radius-lg: 8px;
  --bs-border-radius-xl: 12px;
}

/* ---- 2. Typography ----------------------------------------- */
body { -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    /* font-family: "Cormorant Garamond", Georgia, serif; */
    /* font-weight: 600; */
    /* letter-spacing: -.005em; */
    font-family: "Manrope", system-ui, "Helvetica Neue", Arial, sans-serif;
    font-weight: 700;
    letter-spacing: -.02em;
    color: var(--ink-900, #1f2118);
}
.display-1,.display-2,.display-3,.display-4,.display-5,.display-6 {
  /* font-family: "Cormorant Garamond", Georgia, serif; */
  /* font-weight: 500; */
  /* letter-spacing: -.015em; */
  font-family: "Manrope", system-ui, "Helvetica Neue", Arial, sans-serif;
  font-weight: 800;
  letter-spacing: -.03em;
}
.lead { font-weight: 400; color: var(--ink-700, #3a3d33); }
.text-mono { font-family: "JetBrains Mono", ui-monospace, monospace; }

/* Brand eyebrow / overline */
.eyebrow {
  font-family: "Manrope", sans-serif;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .26em;
  text-transform: uppercase;
  color: var(--tan-500, #a98955);
}

/* ---- 3. Buttons -------------------------------------------- */
.btn {
  --bs-btn-font-family: "Manrope", sans-serif;
  --bs-btn-font-weight: 600;
  --bs-btn-font-size: .82rem;
  --bs-btn-padding-x: 1.4rem;
  --bs-btn-padding-y: .7rem;
  --bs-btn-border-radius: 8px;
  letter-spacing: .01em;
  text-transform: none;
  box-shadow: 0 2px 5px rgba(31, 33, 24, .12);
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease, transform .1s ease;
}
.btn:hover { box-shadow: 0 4px 10px rgba(31, 33, 24, .18); }
.btn:active { box-shadow: 0 1px 3px rgba(31, 33, 24, .14); transform: translateY(1px); }
.btn-link { box-shadow: none; }
.btn-link:hover, .btn-link:active { box-shadow: none; transform: none; }
.btn-lg { --bs-btn-padding-x: 1.9rem; --bs-btn-padding-y: .95rem; --bs-btn-font-size: .9rem; --bs-btn-border-radius: 10px; }
.btn-sm { --bs-btn-padding-x: 1rem; --bs-btn-padding-y: .45rem; --bs-btn-font-size: .72rem; --bs-btn-border-radius: 6px; }

.btn-primary {
  --bs-btn-bg: #768760;        --bs-btn-border-color: #768760;
  --bs-btn-hover-bg: #5e6d4d;  --bs-btn-hover-border-color: #5e6d4d;
  --bs-btn-active-bg: #475339; --bs-btn-active-border-color: #475339;
  --bs-btn-disabled-bg: #768760; --bs-btn-disabled-border-color: #768760;
  --bs-btn-color: #fbf8f1; --bs-btn-hover-color: #fbf8f1; --bs-btn-active-color: #fbf8f1;
}
.btn-outline-primary {
  --bs-btn-color: #475339; --bs-btn-border-color: #768760;
  --bs-btn-hover-bg: #768760; --bs-btn-hover-border-color: #768760; --bs-btn-hover-color: #fbf8f1;
  --bs-btn-active-bg: #5e6d4d; --bs-btn-active-border-color: #5e6d4d;
}
.btn-secondary {
  --bs-btn-bg: #c5a572; --bs-btn-border-color: #c5a572; --bs-btn-color: #1f2118;
  --bs-btn-hover-bg: #a98955; --bs-btn-hover-border-color: #a98955; --bs-btn-hover-color: #1f2118;
  --bs-btn-active-bg: #87693d; --bs-btn-active-border-color: #87693d;
}
.btn-outline-secondary {
  --bs-btn-color: #3a3d33; --bs-btn-border-color: rgba(31,33,24,.28);
  --bs-btn-hover-bg: #ece5d2; --bs-btn-hover-border-color: rgba(31,33,24,.36); --bs-btn-hover-color: #1f2118;
  --bs-btn-active-bg: #ddd4bb; --bs-btn-active-border-color: rgba(31,33,24,.42); --bs-btn-active-color: #1f2118;
}
.btn-success {
  --bs-btn-bg: #5e6d4d; --bs-btn-border-color: #5e6d4d; --bs-btn-color: #fbf8f1;
  --bs-btn-hover-bg: #475339; --bs-btn-hover-border-color: #475339; --bs-btn-hover-color: #fbf8f1;
  --bs-btn-active-bg: #313927; --bs-btn-active-border-color: #313927; --bs-btn-active-color: #fbf8f1;
  --bs-btn-disabled-bg: #5e6d4d; --bs-btn-disabled-border-color: #5e6d4d; --bs-btn-disabled-color: #fbf8f1;
}
.btn-outline-success {
  --bs-btn-color: #475339; --bs-btn-border-color: #5e6d4d;
  --bs-btn-hover-bg: #5e6d4d; --bs-btn-hover-border-color: #5e6d4d; --bs-btn-hover-color: #fbf8f1;
  --bs-btn-active-bg: #475339; --bs-btn-active-border-color: #475339; --bs-btn-active-color: #fbf8f1;
}
.btn-danger {
  --bs-btn-bg: #a8584e; --bs-btn-border-color: #a8584e; --bs-btn-color: #fbf8f1;
  --bs-btn-hover-bg: #8f463d; --bs-btn-hover-border-color: #8f463d; --bs-btn-hover-color: #fbf8f1;
  --bs-btn-active-bg: #743830; --bs-btn-active-border-color: #743830; --bs-btn-active-color: #fbf8f1;
  --bs-btn-disabled-bg: #a8584e; --bs-btn-disabled-border-color: #a8584e; --bs-btn-disabled-color: #fbf8f1;
}
.btn-outline-danger {
  --bs-btn-color: #8f463d; --bs-btn-border-color: #a8584e;
  --bs-btn-hover-bg: #a8584e; --bs-btn-hover-border-color: #a8584e; --bs-btn-hover-color: #fbf8f1;
  --bs-btn-active-bg: #8f463d; --bs-btn-active-border-color: #8f463d; --bs-btn-active-color: #fbf8f1;
}
.btn-warning {
  --bs-btn-bg: #c5a572; --bs-btn-border-color: #c5a572; --bs-btn-color: #1f2118;
  --bs-btn-hover-bg: #a98955; --bs-btn-hover-border-color: #a98955; --bs-btn-hover-color: #1f2118;
  --bs-btn-active-bg: #87693d; --bs-btn-active-border-color: #87693d; --bs-btn-active-color: #fbf8f1;
}
.btn-outline-warning {
  --bs-btn-color: #87693d; --bs-btn-border-color: #c5a572;
  --bs-btn-hover-bg: #c5a572; --bs-btn-hover-border-color: #c5a572; --bs-btn-hover-color: #1f2118;
  --bs-btn-active-bg: #a98955; --bs-btn-active-border-color: #a98955; --bs-btn-active-color: #1f2118;
}
.btn-info {
  --bs-btn-bg: #6f8aa6; --bs-btn-border-color: #6f8aa6; --bs-btn-color: #fbf8f1;
  --bs-btn-hover-bg: #5b748c; --bs-btn-hover-border-color: #5b748c; --bs-btn-hover-color: #fbf8f1;
  --bs-btn-active-bg: #4a6073; --bs-btn-active-border-color: #4a6073; --bs-btn-active-color: #fbf8f1;
}
.btn-outline-info {
  --bs-btn-color: #4a6073; --bs-btn-border-color: #6f8aa6;
  --bs-btn-hover-bg: #6f8aa6; --bs-btn-hover-border-color: #6f8aa6; --bs-btn-hover-color: #fbf8f1;
  --bs-btn-active-bg: #5b748c; --bs-btn-active-border-color: #5b748c; --bs-btn-active-color: #fbf8f1;
}
.btn-light {
  --bs-btn-bg: #fbf8f1; --bs-btn-border-color: rgba(31,33,24,.12); --bs-btn-color: #1f2118;
  --bs-btn-hover-bg: #f5f1e6; --bs-btn-hover-border-color: rgba(31,33,24,.18);
}
.btn-link {
  --bs-btn-color: #5e6d4d; --bs-btn-hover-color: #475339; --bs-btn-active-color: #313927;
}

/* ---- 4. Navbar --------------------------------------------- */
.navbar { --bs-navbar-padding-y: 1rem; font-family: "Manrope", sans-serif; }
.navbar-brand img { height: 40px; width: auto; }
.navbar .nav-link {
  --bs-nav-link-font-weight: 500;
  font-size: .92rem; letter-spacing: .01em;
}
.navbar-light, .navbar[data-bs-theme="light"] {
  --bs-navbar-color: rgba(31,33,24,.72);
  --bs-navbar-hover-color: #475339;
  --bs-navbar-active-color: #1f2118;
  background: var(--cream-50, #fbf8f1);
  border-bottom: 1px solid rgba(31,33,24,.08);
}
.navbar-dark, .navbar[data-bs-theme="dark"] {
  --bs-navbar-color: rgba(251,248,241,.78);
  --bs-navbar-hover-color: #d8c39a;
  --bs-navbar-active-color: #fbf8f1;
  background: var(--sage-900, #1d2117);
}

/* ---- 4b. Nav pills / tabs (active = brand primary, όχι Bootstrap μπλε) --- */
.nav-pills {
  --bs-nav-pills-link-active-bg: var(--bs-primary);
  --bs-nav-pills-link-active-color: #fbf8f1;
  --bs-nav-pills-border-radius: 8px;
}
.nav-pills .nav-link { color: var(--bs-link-color); }
.nav-pills .nav-link:hover:not(.active) { background: var(--cream-100, #f5f1e6); }
/* List-group active (π.χ. πλοήγηση Manage) — ίδιο brand χρώμα */
.list-group {
  --bs-list-group-active-bg: var(--bs-primary);
  --bs-list-group-active-border-color: var(--bs-primary);
}

/* ---- 5. Cards ---------------------------------------------- */
.card {
  --bs-card-border-color: rgba(31,33,24,.10);
  --bs-card-border-radius: 6px;
  --bs-card-bg: #fbf8f1;
  --bs-card-cap-bg: transparent;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(31,33,24,.06));
}
/* .card-title { font-family: "Cormorant Garamond", Georgia, serif; font-weight: 600; } */
.card-title { font-family: "Manrope", system-ui, "Helvetica Neue", Arial, sans-serif; font-weight: 700; letter-spacing: -.02em; }

/* ---- 6. Forms ---------------------------------------------- */
.form-control, .form-select {
  --bs-border-radius: 4px;
  border-color: rgba(31,33,24,.16);
  background-color: #fbf8f1;
  font-family: "Manrope", sans-serif;
}
.form-control:focus, .form-select:focus {
  border-color: #8d9d72;
  box-shadow: 0 0 0 .2rem rgba(118,135,96,.22);
}
.form-label { font-weight: 500; font-size: .86rem; color: var(--ink-700, #3a3d33); }
.input-group-text { background: var(--cream-100, #f5f1e6); border-color: rgba(31,33,24,.16); }

/* ---- 7. Badges, alerts, misc ------------------------------- */
.badge { font-family: "Manrope", sans-serif; font-weight: 600; letter-spacing: .06em; }
.text-bg-primary   { background-color: #768760 !important; color: #fbf8f1 !important; }
.text-bg-secondary { background-color: #c5a572 !important; color: #1f2118 !important; }

.badge-availability {
  display: inline-flex; align-items: center; gap: .45rem;
  padding: .4rem .75rem; border-radius: 999px;
  background: var(--sage-50, #f1f3ec); color: var(--sage-700, #475339);
  border: 1px solid var(--sage-300, #a6b48b);
  font-size: .72rem; font-weight: 600; letter-spacing: .04em;
}
.badge-availability::before { content:""; width:6px; height:6px; border-radius:50%; background: var(--sage-500,#768760); }

.alert-primary {
  --bs-alert-color: #475339; --bs-alert-bg: #e1e6d7;
  --bs-alert-border-color: #c4cdb1;
}
a { text-decoration-thickness: 1px; text-underline-offset: 2px; }

/* ---- 8. Section helpers ------------------------------------ */
.bg-cream { background-color: var(--cream-100, #f5f1e6) !important; }
.bg-sage  { background-color: var(--sage-700, #475339) !important; color: var(--cream-50,#fbf8f1); }
.bg-sage-deep { background-color: var(--sage-900, #1d2117) !important; color: var(--cream-50,#fbf8f1); }
.rule { height:1px; background: rgba(31,33,24,.10); border:0; }
.rule-sage { height:1px; background: var(--sage-300,#a6b48b); opacity:.6; border:0; }
