/* GTV HESK custom theme override
   Version: 1.0
   Purpose: Montserrat font + safer modern UI styling for HESK 3.x
   Keep this file outside HESK core updates where possible.
*/

/* Quick option: Google Fonts.
   If your company self-hosts Montserrat, remove this @import and define @font-face using your own approved font files. */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap');

:root {
  --gtv-blue: #2f69bf;
  --gtv-blue-dark: #2458a5;
  --gtv-blue-soft: #eaf2ff;
  --gtv-bg: #f5f7fb;
  --gtv-surface: #ffffff;
  --gtv-border: #dfe6f2;
  --gtv-text: #182235;
  --gtv-muted: #627089;
  --gtv-success: #168a4a;
  --gtv-warning: #b76b00;
  --gtv-danger: #c53232;
  --gtv-radius: 12px;
  --gtv-shadow: 0 8px 24px rgba(24, 34, 53, 0.08);
}

/* Global typography */
html,
body,
button,
input,
select,
textarea,
table,
td,
th {
  font-family: "Montserrat", "Segoe UI", Roboto, Arial, sans-serif !important;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  color: var(--gtv-text);
  background: var(--gtv-bg);
  font-size: 14px;
  line-height: 1.55;
}

/* Headings and main title */
h1,
h2,
h3,
h4,
h5,
h6,
.header-title,
.site-title,
.navbar-brand,
.logo,
.title,
.page-title,
.hero-title {
  font-family: "Montserrat", "Segoe UI", Roboto, Arial, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em;
}

/* Helps Lithuanian letters look balanced in large titles */
.header-title,
.site-title,
.navbar-brand,
.logo,
.hero-title {
  line-height: 1.2 !important;
}

/* Top/header bars - intentionally broad but conservative */
.header,
.site-header,
.main-header,
.topbar,
.navbar,
.nav,
.admin-nav,
.customer-nav {
  font-family: "Montserrat", "Segoe UI", Roboto, Arial, sans-serif !important;
}

/* Common blue header areas */
.header,
.site-header,
.main-header,
.topbar {
  background-color: var(--gtv-blue) !important;
}

/* Links */
a {
  color: var(--gtv-blue-dark);
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.16em;
}

a:hover {
  color: var(--gtv-blue);
}

/* Cards / panels / white content blocks */
.box,
.card,
.panel,
.notice,
.ticket,
.kb-category,
.kb-article,
.main__content,
.content,
.wrapper,
.table-wrapper {
  border-radius: var(--gtv-radius);
}

/* Keep wrappers from becoming visually heavy */
.card,
.panel,
.box,
.ticket,
.kb-article {
  border-color: var(--gtv-border) !important;
}

/* Buttons */
button,
.button,
.btn,
input[type="submit"],
input[type="button"],
input[type="reset"],
a.btn,
a.button {
  font-family: "Montserrat", "Segoe UI", Roboto, Arial, sans-serif !important;
  font-weight: 600 !important;
  border-radius: 10px !important;
  transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, transform 0.08s ease;
}

button:hover,
.button:hover,
.btn:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
a.btn:hover,
a.button:hover {
  transform: translateY(-1px);
}

button:focus,
.button:focus,
.btn:focus,
input:focus,
select:focus,
textarea:focus,
a:focus {
  outline: 3px solid rgba(47, 105, 191, 0.22) !important;
  outline-offset: 2px;
}

/* Primary-looking buttons */
.btn-primary,
.button-primary,
input[type="submit"] {
  background-color: var(--gtv-blue) !important;
  border-color: var(--gtv-blue) !important;
}

.btn-primary:hover,
.button-primary:hover,
input[type="submit"]:hover {
  background-color: var(--gtv-blue-dark) !important;
  border-color: var(--gtv-blue-dark) !important;
}

/* Forms */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="search"],
input[type="url"],
select,
textarea {
  border-radius: 10px !important;
  border-color: var(--gtv-border) !important;
  background-color: #fff;
  color: var(--gtv-text);
  box-shadow: none !important;
}

input::placeholder,
textarea::placeholder {
  color: #8a95a8;
}

/* Tables */
table {
  border-collapse: separate;
  border-spacing: 0;
}

th {
  font-weight: 700 !important;
  color: var(--gtv-text);
}

td,
th {
  vertical-align: middle;
}

.table,
.list,
.ticket-list {
  background: var(--gtv-surface);
}

/* Small labels / badges / status elements */
.badge,
.label,
.status,
.priority,
.tag {
  font-family: "Montserrat", "Segoe UI", Roboto, Arial, sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em;
  border-radius: 999px !important;
}

/* Alerts */
.success,
.notice-success,
.alert-success {
  color: var(--gtv-success);
}

.warning,
.notice-warning,
.alert-warning {
  color: var(--gtv-warning);
}

.error,
.notice-error,
.alert-error {
  color: var(--gtv-danger);
}

/* Footer remains visible; this does not remove or hide HESK credit */
.footer {
  font-family: "Montserrat", "Segoe UI", Roboto, Arial, sans-serif !important;
}

/* Better spacing for customer-facing pages */
main {
  letter-spacing: -0.005em;
}

/* Mobile readability */
@media (max-width: 768px) {
  body {
    font-size: 14px;
  }

  h1,
  .header-title,
  .site-title,
  .hero-title {
    font-size: 24px !important;
    line-height: 1.25 !important;
  }
}
