:root {
  --black: #0a0a0a;
  --white: #fafaf8;
  --green: #2c8e22;
  --red: #ff1500;
  --grey: #fff;
  /* Darker variants are used for normal-sized text to meet contrast needs. */
  --green-text: #176b18;
  --red-text: #b42318;
  --border-color: #c8cfca;
}

body {
  background-color: var(--white);
  color: var(--black);
}

a { color: var(--green-text); }
a:hover, a:focus { color: var(--red-text); }

.text-brand { color: var(--green-text) !important; }
.bg-brand { background-color: var(--green) !important; color: var(--black) !important; }
.border-brand { border-color: var(--green) !important; }

.btn-success {
  --bs-btn-color: var(--white);
  --bs-btn-bg: var(--green-text);
  --bs-btn-border-color: var(--green-text);
  --bs-btn-hover-bg: #176b18;
  --bs-btn-hover-border-color: #176b18;
  --bs-btn-focus-shadow-rgb: 44, 142, 34;
  --bs-btn-active-color: var(--white);
  --bs-btn-active-bg: #115013;
  --bs-btn-active-border-color: #115013;
 }
.btn-brand {
  --bs-btn-color: var(--black);
  --bs-btn-bg: var(--green);
  --bs-btn-border-color: var(--green);
  --bs-btn-hover-color: var(--white);
  --bs-btn-hover-bg: #176b18;
  --bs-btn-hover-border-color: #176b18;
  --bs-btn-focus-shadow-rgb: 44, 142, 34;
  --bs-btn-active-color: var(--white);
  --bs-btn-active-bg: #115013;
  --bs-btn-active-border-color: #115013;
 }

.btn-danger {
  --bs-btn-color: var(--white);
  --bs-btn-bg: var(--red-text);
  --bs-btn-border-color: var(--red-text);
  --bs-btn-hover-bg: #8f1d14;
  --bs-btn-hover-border-color: #8f1d14;
}

.form-control:focus,
.form-select:focus,
.form-check-input:focus {
  border-color: var(--green);
  box-shadow: 0 0 0 .25rem rgba(44, 142, 34, .25);
}

.form-check-input:checked {
  background-color: var(--green-text);
  border-color: var(--green-text);
}

.alert-danger,
.alert-error {
  color: #75140d;
  background-color: #fff0ee;
  border-color: #f7bbb5;
}

.alert-success {
  color: #114d13;
  background-color: #e9f7e8;
  border-color: #a9dca5;
}

.auth-shell { min-height: calc(100vh - 130px); }
.auth-card { max-width: 42rem; overflow: hidden; }
.auth-header { background-color: var(--green); color: var(--black); }
.auth-header .text-muted { color: var(--black) !important; }
.auth-logo {
  width: 4.75rem;
  height: 4.75rem;
  object-fit: cover;
  border: 3px solid rgba(10, 10, 10, .25);
}

.profile-avatar { width: 35px; height: 35px; object-fit: cover; border: 3px solid var(--white); }
.object-fit-cover { object-fit: cover; }

.content-hero-image { max-height: 28rem; object-fit: cover; }
.content-meta { max-width: 25rem; }
.content-readable { line-height: 1.8; }
.tracking-wide { letter-spacing: .08em; }
.card-img-top.object-fit-cover { height: 12.5rem; }

.share-btn {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .55rem 1rem;
  border: 1px solid transparent;
  border-radius: 50rem;
  font-size: .875rem;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}
.share-btn:hover { color: var(--white); transform: translateY(-2px); box-shadow: 0 .25rem .75rem rgba(10, 10, 10, .18); }
.share-btn:active { transform: translateY(0); }
.share-btn--whatsapp { background: var(--green-text); color: var(--white); }
.share-btn--facebook { background: #145db8; color: var(--white); }
.share-btn--twitter { background: var(--black); color: var(--white); }
.share-btn--telegram { background: #1676a5; color: var(--white); }
.share-btn--copy { background: var(--grey); color: var(--black); border-color: var(--border-color); }
.share-btn--copy:hover { color: var(--black); background: #ecefec; }
.share-btn--copy.copied { background: #e9f7e8; color: #114d13; border-color: #a9dca5; }

@media (max-width: 991px) {
  .header-height { height: 90px !important; }
}

@media (max-width: 575px) {
  .header-height { height: 65px !important; }
}



