/**
 * @file
 * Main Stylesheet for IntelliFire Theme
 *
 * This file imports all component styles and compiles to css/style.css
 */
/**
 * @file
 * Theme Variables
 *
 * Define custom variables for the IntelliFire theme
 * Note: Most --em3-* variables come from EasyMap3's core.css
 * We only define button-specific variables that EasyMap3 doesn't provide
 */
:root {
  --em3-button-bg: #007bff;
  --em3-button-text: #ffffff;
  --em3-button-active-bg: #004085;
  --em3-button-active-border: #004085;
  --em3-color-primary-hover: #0056b3;
}

/**
 * IntelliFire Custom Styles
 */
* {
  box-sizing: border-box;
}

html {
  font-size: 16px;
}

body {
  margin: 0;
  padding: 0;
  font-family: var(--em3-font-family-base, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif);
  font-size: var(--em3-font-size-base, 1rem);
  line-height: var(--em3-line-height-base, 1.5);
  color: var(--em3-text-color);
  background-color: var(--em3-background-color);
}

a {
  color: var(--em3-link-color);
  text-decoration: underline;
  transition: color var(--em3-transition-speed);
}
a:hover, a:focus {
  color: var(--em3-link-hover-color);
  text-decoration: none;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--em3-font-family-heading, inherit);
  color: var(--em3-heading-color);
  margin-top: 0;
  margin-bottom: var(--em3-spacing-md, 1rem);
  font-weight: 600;
  line-height: 1.2;
}

h1 {
  font-size: var(--em3-font-size-h1, 2.5rem);
}

h2 {
  font-size: var(--em3-font-size-h2, 2rem);
}

h3 {
  font-size: var(--em3-font-size-h3, 1.75rem);
}

h4 {
  font-size: var(--em3-font-size-h4, 1.5rem);
}

h5 {
  font-size: var(--em3-font-size-h5, 1.25rem);
}

h6 {
  font-size: var(--em3-font-size-h6, 1rem);
}

.button,
button,
input[type=submit],
input[type=button] {
  display: inline-block;
  padding: var(--em3-spacing-sm, 0.5rem) var(--em3-spacing-md, 1rem);
  font-size: var(--em3-font-size-base, 1rem);
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  cursor: pointer;
  border: 1px solid var(--em3-color-primary, #007bff);
  border-radius: var(--em3-border-radius, 0.25rem);
  transition: all var(--em3-transition-speed, 0.2s);
  background-color: var(--em3-button-bg, #007bff);
  color: var(--em3-button-text, #ffffff);
}
.button:hover,
button:hover,
input[type=submit]:hover,
input[type=button]:hover {
  background-color: var(--em3-color-primary-hover, #0056b3);
  border-color: var(--em3-color-primary-hover, #0056b3);
}
.button:focus,
button:focus,
input[type=submit]:focus,
input[type=button]:focus {
  outline: none;
}
.button:focus-visible,
button:focus-visible,
input[type=submit]:focus-visible,
input[type=button]:focus-visible {
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}
.button:active,
button:active,
input[type=submit]:active,
input[type=button]:active {
  background-color: var(--em3-button-active-bg, #004085);
  border-color: var(--em3-button-active-border, #004085);
}

input[type=text],
input[type=email],
input[type=password],
input[type=search],
input[type=tel],
input[type=url],
textarea,
select {
  display: block;
  width: 100%;
  padding: var(--em3-spacing-sm, 0.5rem) var(--em3-spacing-md, 1rem);
  font-size: var(--em3-font-size-base, 1rem);
  line-height: 1.5;
  color: var(--em3-input-text, #212529);
  background-color: var(--em3-input-bg, #ffffff);
  border: 1px solid var(--em3-input-border, #ced4da);
  border-radius: var(--em3-border-radius, 0.25rem);
  transition: border-color var(--em3-transition-speed, 0.2s);
}
input[type=text]:focus,
input[type=email]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=tel]:focus,
input[type=url]:focus,
textarea:focus,
select:focus {
  border-color: var(--em3-input-focus-border, #007bff);
  outline: none;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: var(--em3-spacing-lg, 1.5rem);
}

th,
td {
  padding: var(--em3-spacing-sm, 0.5rem);
  border: 1px solid var(--em3-border-color, #dee2e6);
  text-align: left;
}

th {
  background-color: var(--em3-table-header-bg, #f8f9fa);
  font-weight: 600;
}

.messages {
  padding: var(--em3-spacing-md, 1rem);
  margin-bottom: var(--em3-spacing-lg, 1.5rem);
  border-radius: var(--em3-border-radius, 0.25rem);
  border: 1px solid transparent;
}
.messages.status {
  background-color: var(--em3-success-bg, #d4edda);
  border-color: var(--em3-success-border, #c3e6cb);
  color: var(--em3-success-text, #155724);
}
.messages.warning {
  background-color: var(--em3-warning-bg, #fff3cd);
  border-color: var(--em3-warning-border, #ffeeba);
  color: var(--em3-warning-text, #856404);
}
.messages.error {
  background-color: var(--em3-error-bg, #f8d7da);
  border-color: var(--em3-error-border, #f5c6cb);
  color: var(--em3-error-text, #721c24);
}

.region-sidebar-first,
.region-sidebar-second {
  padding: var(--em3-spacing-md, 1rem);
}

.region-footer {
  background-color: var(--em3-footer-bg, #343a40);
  color: var(--em3-footer-text, #ffffff);
  padding: var(--em3-spacing-xl, 2rem) var(--em3-spacing-lg, 1.5rem);
  margin-top: var(--em3-spacing-xl, 2rem);
}

.layout-container {
  padding: var(--em3-spacing-lg, 1.5rem);
  max-width: 1600px;
  margin: 0 auto;
}
/*# sourceMappingURL=style.css.map */
