
/*!
 * Bootstrap 5 – Brand Theme (custom)
 * Palette & Fonts per provided spec.
 * This file overrides Bootstrap 5 defaults using CSS variables and component-level tokens.
 * You can use it as your main bootstrap.css or load after vanilla Bootstrap.
 */

/* ===== Brand Colors (Pantone references in comments) ===== */
:root{
  /* Core brand palette */
  --brand-red:     #911620; /* 7622C */
  --brand-navy:    #002F6C; /* 294C  */
  --brand-green:   #00523E; /* 3305C */
  --brand-yellow:  #FFEDAD; /* 7402C */
  --brand-peach:   #FFC9AA; /* 713C  */
  --brand-gray-2c: #E1E1E1; /* Cool Gray 2C */

  /* Bootstrap theme colors */
  --bs-primary:   var(--brand-navy);
  --bs-secondary: var(--brand-gray-2c);
  --bs-success:   var(--brand-green);
  --bs-danger:    var(--brand-red);
  --bs-warning:   var(--brand-yellow);
  --bs-info:      var(--brand-peach);
  --bs-light:     #ffffff;
  --bs-dark:      #111111;

  /* RGB helpers */
  --bs-primary-rgb: 0,47,108;
  --bs-success-rgb: 0,82,62;
  --bs-danger-rgb: 145,22,32;
  --bs-warning-rgb: 255,237,173;
  --bs-info-rgb:    255,201,170;
  --bs-secondary-rgb: 225,225,225;

  /* Typography per spec
  --bs-font-sans-serif: "Poppins", Arial, sans-serif;
  --bs-heading-font-family: "PP Telegraf", Arial, sans-serif;
  --bs-font-serif: Georgia, "Times New Roman", serif;*/
  --bs-font-sans-serif: "Poppins", Arial, sans-serif;
  --bs-body-font-family: var(--bs-font-sans-serif);

  /* HEADINGS: dočasně Outfit místo PP Telegraf */
  --bs-heading-font-family: "Outfit", Arial, sans-serif;

  /* serif (pokud někde používáš) */
  --bs-font-serif: Georgia, "Times New Roman", serif;

  --bs-body-font-family: var(--bs-font-sans-serif);
  --bs-body-color: var(--bs-light);
  --bs-emphasis-color: #000;
  --bs-link-color: var(--bs-primary);
  --bs-link-hover-color: #001C3F; /* darker navy */
  --bs-border-color: var(--brand-gray-2c);
}

/* Optional @font-face hooks (provide files or keep fallbacks) */
@font-face{
  font-family:"PP Telegraf";
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: local("PP Telegraf");
}

/* ===== Base ===== */
html{ -webkit-text-size-adjust: 100%; }
body{
  font-family: var(--bs-body-font-family);
  color: var(--bs-body-color);
  background-color: #fff;
  font-weight: 300;
  line-height: 1.5;
}
h1, h2, h3, h4, h5, h6,
.display-1, .display-2, .display-3, .display-4, .display-5, .display-6{
  font-family: var(--bs-heading-font-family);
  color: var(--bs-body-color);
  margin-top: 0;
}
.longread{ font-family: var(--bs-font-serif); }

a{ color: var(--bs-link-color); text-decoration: underline; }
a:hover, a:focus{ color: var(--bs-link-hover-color); text-decoration-color: var(--bs-link-hover-color); }

/* ===== Buttons (v5.3 tokens) ===== */
.btn{
  --bs-btn-font-family: var(--bs-body-font-family);
  --bs-btn-border-width: 1px;
  --bs-btn-focus-box-shadow: 0 0 0 .25rem rgba(var(--bs-primary-rgb), .25);
  border-width: var(--bs-btn-border-width);
  font-family: var(--bs-btn-font-family);
}

/* Primary */
.btn-primary{
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #002656;
  --bs-btn-hover-border-color: #002656;
  --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #001F48;
  --bs-btn-active-border-color: #001F48;
  --bs-btn-disabled-bg: var(--bs-primary);
  --bs-btn-disabled-border-color: var(--bs-primary);
}

/* Secondary */
.btn-secondary{
  --bs-btn-color: #111;
  --bs-btn-bg: var(--bs-secondary);
  --bs-btn-border-color: var(--bs-secondary);
  --bs-btn-hover-color: #111;
  --bs-btn-hover-bg: #cfcfcf;
  --bs-btn-hover-border-color: #cfcfcf;
  --bs-btn-focus-shadow-rgb: var(--bs-secondary-rgb);
  --bs-btn-active-color: #111;
  --bs-btn-active-bg: #bdbdbd;
  --bs-btn-active-border-color: #bdbdbd;
  --bs-btn-disabled-bg: var(--bs-secondary);
  --bs-btn-disabled-border-color: var(--bs-secondary);
}

/* Success */
.btn-success{
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--bs-success);
  --bs-btn-border-color: var(--bs-success);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #004233;
  --bs-btn-hover-border-color: #004233;
  --bs-btn-focus-shadow-rgb: var(--bs-success-rgb);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #003529;
  --bs-btn-active-border-color: #003529;
  --bs-btn-disabled-bg: var(--bs-success);
  --bs-btn-disabled-border-color: var(--bs-success);
}

/* Danger */
.btn-danger{
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--bs-danger);
  --bs-btn-border-color: var(--bs-danger);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #6f1119;
  --bs-btn-hover-border-color: #6f1119;
  --bs-btn-focus-shadow-rgb: var(--bs-danger-rgb);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #560c13;
  --bs-btn-active-border-color: #560c13;
  --bs-btn-disabled-bg: var(--bs-danger);
  --bs-btn-disabled-border-color: var(--bs-danger);
}

/* Warning */
.btn-warning{
  --bs-btn-color: #111;
  --bs-btn-bg: var(--bs-warning);
  --bs-btn-border-color: var(--bs-warning);
  --bs-btn-hover-color: #111;
  --bs-btn-hover-bg: #ffd86a;
  --bs-btn-hover-border-color: #ffd86a;
  --bs-btn-focus-shadow-rgb: var(--bs-warning-rgb);
  --bs-btn-active-color: #111;
  --bs-btn-active-bg: #ffcd4a;
  --bs-btn-active-border-color: #ffcd4a;
  --bs-btn-disabled-bg: var(--bs-warning);
  --bs-btn-disabled-border-color: var(--bs-warning);
}

/* Info */
.btn-info{
  --bs-btn-color: #111;
  --bs-btn-bg: var(--bs-info);
  --bs-btn-border-color: var(--bs-info);
  --bs-btn-hover-color: #111;
  --bs-btn-hover-bg: #ffb98f;
  --bs-btn-hover-border-color: #ffb98f;
  --bs-btn-focus-shadow-rgb: var(--bs-info-rgb);
  --bs-btn-active-color: #111;
  --bs-btn-active-bg: #ffa973;
  --bs-btn-active-border-color: #ffa973;
  --bs-btn-disabled-bg: var(--bs-info);
  --bs-btn-disabled-border-color: var(--bs-info);
}

/* Outline variants */
.btn-outline-primary{
  --bs-btn-color: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bs-primary);
  --bs-btn-hover-border-color: var(--bs-primary);
  --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
}
.btn-outline-secondary{
  --bs-btn-color: #111;
  --bs-btn-border-color: var(--bs-secondary);
  --bs-btn-hover-color: #111;
  --bs-btn-hover-bg: var(--bs-secondary);
  --bs-btn-hover-border-color: var(--bs-secondary);
  --bs-btn-focus-shadow-rgb: var(--bs-secondary-rgb);
}
.btn-outline-success{
  --bs-btn-color: var(--bs-success);
  --bs-btn-border-color: var(--bs-success);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bs-success);
  --bs-btn-hover-border-color: var(--bs-success);
  --bs-btn-focus-shadow-rgb: var(--bs-success-rgb);
}
.btn-outline-danger{
  --bs-btn-color: var(--bs-danger);
  --bs-btn-border-color: var(--bs-danger);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bs-danger);
  --bs-btn-hover-border-color: var(--bs-danger);
  --bs-btn-focus-shadow-rgb: var(--bs-danger-rgb);
}
.btn-outline-warning{
  --bs-btn-color: #6b5400;
  --bs-btn-border-color: var(--bs-warning);
  --bs-btn-hover-color: #111;
  --bs-btn-hover-bg: var(--bs-warning);
  --bs-btn-hover-border-color: var(--bs-warning);
  --bs-btn-focus-shadow-rgb: var(--bs-warning-rgb);
}
.btn-outline-info{
  --bs-btn-color: #7a4f37;
  --bs-btn-border-color: var(--bs-info);
  --bs-btn-hover-color: #111;
  --bs-btn-hover-bg: var(--bs-info);
  --bs-btn-hover-border-color: var(--bs-info);
  --bs-btn-focus-shadow-rgb: var(--bs-info-rgb);
}

/* ===== Alerts ===== */
.alert-primary{
  --bs-alert-color: #001C3F;
  --bs-alert-bg: rgba(var(--bs-primary-rgb), .085);
  --bs-alert-border-color: rgba(var(--bs-primary-rgb), .2);
}
.alert-secondary{
  --bs-alert-color: #333;
  --bs-alert-bg: #f7f7f7;
  --bs-alert-border-color: #e8e8e8;
}
.alert-success{
  --bs-alert-color: #08392f;
  --bs-alert-bg: rgba(var(--bs-success-rgb), .085);
  --bs-alert-border-color: rgba(var(--bs-success-rgb), .2);
}
.alert-danger{
  --bs-alert-color: #511018;
  --bs-alert-bg: rgba(var(--bs-danger-rgb), .085);
  --bs-alert-border-color: rgba(var(--bs-danger-rgb), .2);
}
.alert-warning{
  --bs-alert-color: #3a2d00;
  --bs-alert-bg: rgba(var(--bs-warning-rgb), .5);
  --bs-alert-border-color: rgba(var(--bs-warning-rgb), .7);
}
.alert-info{
  --bs-alert-color: #4f3525;
  --bs-alert-bg: rgba(var(--bs-info-rgb), .5);
  --bs-alert-border-color: rgba(var(--bs-info-rgb), .7);
}

/* ===== Badges ===== */
.badge.bg-primary{ background-color: var(--bs-primary) !important; }
.badge.bg-secondary{ background-color: var(--bs-secondary) !important; color:#111; }
.badge.bg-success{ background-color: var(--bs-success) !important; }
.badge.bg-danger{ background-color: var(--bs-danger) !important; }
.badge.bg-warning{ background-color: var(--bs-warning) !important; color:#111; }
.badge.bg-info{ background-color: var(--bs-info) !important; color:#111; }

/* ===== Forms ===== */
.form-control:focus, .form-select:focus{
  border-color: var(--bs-primary);
  box-shadow: 0 0 0 .25rem rgba(var(--bs-primary-rgb), .25);
}
.form-check-input:checked{
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}

/* ===== Pagination & Links ===== */
.page-link{ color: var(--bs-primary); }
.page-link:hover{ color: var(--bs-link-hover-color); }
.page-item.active .page-link{ background-color: var(--bs-primary); border-color: var(--bs-primary); }

/* ===== Utilities ===== */
.text-primary{ color: var(--bs-primary) !important; }
.text-secondary{ color: var(--bs-secondary) !important; }
.text-success{ color: var(--bs-success) !important; }
.text-danger{ color: var(--bs-danger) !important; }
.text-warning{ color: #9E7A00 !important; } /* readable warning text */
.text-info{ color: #8A5A3C !important; }    /* readable info text */

.bg-primary{ background-color: var(--bs-primary) !important; color: #fff !important; }
.bg-secondary{ background-color: var(--bs-secondary) !important; }
.bg-success{ background-color: var(--bs-success) !important; color: #fff !important; }
.bg-danger{ background-color: var(--bs-danger) !important; color: #fff !important; }
.bg-warning{ background-color: var(--bs-warning) !important; color: #111 !important; }
.bg-info{ background-color: var(--bs-info) !important; color: #111 !important; }

.border-primary{ border-color: var(--bs-primary) !important; }
.border-secondary{ border-color: var(--bs-secondary) !important; }
.border-success{ border-color: var(--bs-success) !important; }
.border-danger{ border-color: var(--bs-danger) !important; }
.border-warning{ border-color: var(--bs-warning) !important; }
.border-info{ border-color: var(--bs-info) !important; }

