/* Gentle Wellness Global Styles */
@import url('https://fonts.googleapis.com/css2?family=Lora:wght@400;500;600;700&family=Open+Sans:wght@400;500;600;700&display=swap');

:root {
  --gw-primary: #A3B9A4;        /* Soft Sage */
  --gw-primary-dark: #8a9d8b;
  --gw-secondary: #E9DDC7;      /* Warm Sand */
  --gw-accent: #B9D7D9;         /* Mist Blue */
  --gw-accent-dark: #a0c5c7;
  --gw-text-primary: #2F2F2F;   /* Charcoal */
  --gw-text-secondary: #5a5a5a;
  --gw-bg-light: #FAF9F7;       /* Linen White */
  --gw-border: #DCDCDC;         /* Pebble Gray */
}

html {
  font-size: 16px;
}

@media (min-width: 768px) {
  html {
    font-size: 18px;
  }
}

body {
  font-family: 'Open Sans', Arial, sans-serif;
  color: var(--gw-text-primary);
  margin-bottom: 60px;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Lora', Georgia, serif;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--gw-text-primary);
}

/* Global link colors - override Bootstrap defaults */
a {
  color: var(--gw-accent);
  text-decoration: none;
}

a:hover,
a:focus {
  color: var(--gw-accent-dark);
  text-decoration: underline;
}

a:visited {
  color: var(--gw-primary);
}

a:visited:hover {
  color: var(--gw-primary-dark);
  text-decoration: underline;
}

a:active {
  color: var(--gw-accent-dark);
}

/* Bootstrap button overrides */
.btn-primary {
  background-color: var(--gw-accent);
  border-color: var(--gw-accent);
  color: var(--gw-text-primary);
}

.btn-primary:hover,
.btn-primary:focus {
  background-color: var(--gw-primary);
  border-color: var(--gw-primary);
  color: white;
}

.btn-secondary {
  background-color: transparent;
  border-color: var(--gw-primary);
  color: var(--gw-text-primary);
}

.btn-secondary:hover,
.btn-secondary:focus {
  background-color: var(--gw-primary);
  border-color: var(--gw-primary);
  color: white;
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem rgba(185, 215, 217, 0.5);
}

html {
  position: relative;
  min-height: 100%;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--gw-text-secondary);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}