/* Identidade visual IFSC
   Cores oficiais: verde #359830, vermelho #c90c0f.
   Baseado no padrão visual do Kutt IFSC (encurtador). */

:root {
  --ifsc-green: #2a8a30;
  --ifsc-green-light: #3aa63c;
  --ifsc-green-dark: #1f6b24;
  --ifsc-red: #c90c0f;
  --ifsc-red-dark: #b00e12;
  --bg-color: hsl(120, 18%, 96%);
  --text-color: hsl(200, 35%, 25%);
}

body {
  font-family: "Open Sans", "Segoe UI", system-ui, -apple-system, sans-serif;
  background-color: var(--bg-color);
  color: var(--text-color);
}

/* Navbar */
.navbar {
  background-color: #ffffff !important;
  border-bottom: 3px solid var(--ifsc-green);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.navbar-brand {
  font-weight: 600;
  color: var(--text-color) !important;
  font-size: 1.1rem;
}

.navbar-brand img {
  margin-right: 8px;
}

/* Links */
a {
  color: var(--ifsc-green);
}

a:hover {
  color: var(--ifsc-green-dark);
}

/* Botões */
.btn-primary {
  background: linear-gradient(to right, var(--ifsc-green-light), var(--ifsc-green));
  border: none;
  box-shadow: 0 2px 6px rgba(53, 152, 48, 0.4);
  font-weight: 600;
}

.btn-primary:hover,
.btn-primary:focus {
  background: linear-gradient(to right, var(--ifsc-green), var(--ifsc-green-dark));
  box-shadow: 0 3px 10px rgba(53, 152, 48, 0.5);
}

.btn-primary:active {
  background: var(--ifsc-green-dark);
}

/* Tabs */
.nav-tabs .nav-link {
  color: var(--text-color);
  font-weight: 500;
}

.nav-tabs .nav-link.active {
  color: var(--ifsc-green);
  border-bottom-color: var(--ifsc-green);
  font-weight: 600;
}

.nav-tabs .nav-link:hover {
  color: var(--ifsc-green-dark);
}

/* Form */
.form-control:focus,
.form-select:focus {
  border-color: var(--ifsc-green);
  box-shadow: 0 0 0 0.2rem rgba(53, 152, 48, 0.25);
}

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

.form-range::-webkit-slider-thumb {
  background: var(--ifsc-green);
}

.form-range::-moz-range-thumb {
  background: var(--ifsc-green);
}

/* Main container */
main.container-sm {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

/* Legend / fieldset */
legend {
  font-size: 1rem;
  font-weight: 600;
  color: var(--text-color);
}

/* QRCode result section */
section .text-center h5 {
  color: var(--ifsc-green);
  font-weight: 600;
}

section .text-center img.border {
  border: 1px solid rgba(53, 152, 48, 0.35) !important;
  border-radius: 8px;
  padding: 12px;
  background: #ffffff;
}

/* Short URL link */
section .text-center .fs-5 a {
  color: var(--ifsc-green);
  font-weight: 600;
  word-break: break-all;
}

section .text-center .fs-5 a:hover {
  color: var(--ifsc-green-dark);
}

/* Alerts */
.alert-warning {
  border-color: #f0ad4e;
  background-color: #fff8e1;
  color: #856404;
}

/* Footer spacing */
footer {
  padding: 2rem 0;
}
