/**
 * Gin Semantic Color Extensions
 *
 * Gin doesn't provide --gin-color-success (uses --gin-color-green instead)
 * or text color variants. We define these for consistency across our modules.
 */
:root {
  /* Success color - mapped from Gin's green */
  --gin-color-success: var(--gin-color-green, #058260);
  --gin-color-success-light: var(--gin-color-green-light, #32cea4);
  --gin-color-success-lightest: var(--gin-color-green-lightest, #c0efe1);
  --gin-bg-success: var(--gin-bg-green, #044d3a);
  --gin-bg-success-light: var(--gin-bg-green-light, rgba(72, 171, 123, .1));

  /* Text colors for colored backgrounds */
  --gin-color-success-text: #fff;
  --gin-color-warning-text: #000;
  --gin-color-danger-text: #fff;
}

/* Dark mode overrides */
.gin--dark-mode {
  --gin-color-success: var(--gin-color-green, #32cea4);
  --gin-color-success-light: var(--gin-color-green-light, #32cea4);

  /* Text colors for dark mode colored backgrounds */
  --gin-color-success-text: #000;
  --gin-color-warning-text: #000;
  --gin-color-danger-text: #fff;
}

/* Override Gin login page styles */
body.gin-login .user-form-page__user-form img {
  max-height: 100% !important; /* Required to override Gin default */
}

/* Global link styles - override Drupal defaults */
a {
  text-decoration: none !important; /* Required to override core styles */
}

a:hover {
  text-decoration: underline !important; /* Required to override core styles */
}

/* Views exposed form styling */
.views-exposed-form.views-exposed-form {
  background: var(--gin-bg-layer) !important; /* Required to override Views default */
}

.progress-bar-step-two {
  margin-top: var(--space-l);
}

.node-support-ticket-form .filter-help {
  display: none;
}

.login-help-links {
  margin-top: var(--gin-spacing-s);
  text-align: center;
}

/* Node and moderation form styling */
.node--unpublished {
  background-color: inherit !important; /* Required to override Drupal node default */
}

.entity-moderation-form {
  background: inherit !important; /* Required to override moderation form default */
}

/* Hide format selector for non-book forms */
form:not(.node-book-form):not(.node-book-edit-form) [data-drupal-selector=edit-body-0-format] {
  visibility: hidden;
  height: 0;
}

/* User admin page autocomplete width - business logic requirement */
.view-user-admin-people .claro-autocomplete .form-autocomplete {
  width: 250px;
}

.breadcrumb {
  display: none;
}

.field--label-above {
  margin-bottom: var(--gin-spacing-s);
}

/* Hide the Gin theme toggle */
.dark-mode-switch {
  display: none !important; /* Required to override Gin's display property */
}

/* Table styling */
table tbody td {
  padding: var(--gin-spacing-xs) !important; /* Required to override table defaults */
}

table thead th {
  min-width: 250px; /* Business logic: minimum column width for readability */
}

/* Support ticket view field widths - business logic requirements */
.views-field-form-field-field-support-ticket-assigned-to,
.views-field-form-field-field-support-ticket-customer,
.views-field-form-field-field-support-ticket-account{
  min-width: 400px;
}

/* Toolbar user tray styling */
#toolbar-item-user-tray h3 {
  color: var(--gin-color-text-muted);
  text-align: left;
  text-decoration: underline;
  padding: 0 var(--gin-spacing-m);
  margin: 1rem 0 0;
  font-size: 13px; /* Business logic: specific font size for toolbar headings */
}

#toolbar-bar {
  max-height: 60px; /* Business logic: fixed toolbar height */
}

nav ul ul {
  border-left: 2px solid var(--gin-border-color);
  margin-left: var(--gin-spacing-xs);
  padding-left: var(--gin-spacing-xs);
}

.sidebar-toggle-button {
  display: none;
}

/* Tag styling */
.field--name-field-tags .field__item {
  display: inline-block;
  padding: var(--gin-spacing-s) var(--gin-spacing-l);
  border-radius: 9999px; /* Pill shape for tags */
  border: 2px solid var(--gin-border-color);
  font-size: 14px; /* Business logic: specific tag font size */
  margin: var(--gin-spacing-xxs);
}

/* Landing page layout */
.page-node-type-landing-page .region-content {
  width: min(1100px, 92vw); /* Business logic: max content width with responsive fallback */
  margin-inline: auto;
}

.page-node-type-landing-page .region-content .view-header {
  text-align: center;
  margin-bottom: 25px;
}

.page-node-type-landing-page .js-form-item-search-api-fulltext {
  width: 91%; /* Business logic: search field width */
}

.page-node-type-landing-page [data-drupal-selector=edit-search-api-fulltext] {
  width: 100%;
  display: block;
  margin: 0 auto;
}

.view-knowledge-page-teaser .view-content {
  text-align: center;
  color: var(--gin-color-primary);
}

/* Support ticket view styling */
.view-support-tickets .views-field-title {
  min-width: 200px; /* Business logic: minimum title column width */
}

/* Knowledge page blocks spacing */
.block-views-blocklatest-knowledge-pages-block-1,
.block-knowledge-info-block{
  margin-top: 75px;
}

.block-views-blocklatest-knowledge-pages-block-1 h2 {
  text-align: center;
}

.dashboard .block-views-blocklatest-knowledge-pages-block-1 h2 {
  text-align: left;
}

#toolbar-administration-secondary .knowledge-search-toolbar-form {
  display: flex;
  align-items: center;
}

/* Toolbar knowledge search input */
#toolbar-administration-secondary .knowledge-search-input.form-element {
  background: url('/core/misc/icons/868686/magnifier.svg') no-repeat var(--gin-spacing-s) center var(--gin-bg-layer);
  background-size: 40px;
  padding-left: 45px;
  padding-right: var(--gin-spacing-s);
  height: 36px; /* Business logic: fixed input height for toolbar consistency */
  border: 1px solid var(--gin-border-color);
  border-radius: 999px; /* Pill-shaped input */
  font-size: var(--gin-font-size-xs);
  outline: none;
  width: 220px; /* Business logic: fixed width for toolbar search */
  transition: border-color 0.2s ease;
  color: var(--gin-color-text);
}

#toolbar-administration-secondary .search-icon-button.button {
  display: none;
}

form#views-exposed-form-support-tickets-block-3 {
  background: none;
  box-shadow: none;
  border: none;
  padding: var(--gin-spacing-s);
}

.block-views-blocklatest-knowledge-pages-block-1 .view-footer {
  margin-top: var(--gin-spacing-s);
  text-align: right;
}

.view-support-ticket-customer-view > .gin-layer-wrapper {
  padding: 0;
}

.knowledge-search-toolbar-form .layout-region-node-secondary{
  display: none;
}

form#knowledge-search-form--2 {
  margin-right: var(--gin-spacing-m);
}

/* Shoelace-like skeleton placeholder for Adtran EVC Report */
.skeleton-wrapper {
  min-height: 100px;
  max-width: 100%;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.skeleton-bar {
  height: var(--gin-spacing-m);
  width: 100%;
  /* Animation-specific gradient - intentionally using hardcoded values */
  background: linear-gradient(90deg, #eee 25%, #e0e0e0 50%, #eee 75%);
  background-size: 200% 100%;
  border-radius: 8px;
  animation: skeleton-pulse 1.2s ease-in-out infinite;
  margin-bottom: 0;
}
.skeleton-bar:first-child {
  width: 50%;
}
@keyframes skeleton-pulse {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}


.field--name-dynamic-block-fieldnode-ticket-status-block .views-field-form-field-field-support-ticket-status .views-label {
  font-weight: bold;
}

.field--name-dynamic-block-fieldnode-ticket-status-block .form-item--form-field-field-support-ticket-status-101-field-support-ticket-status {
  margin-top: 0;
}

/* Support ticket assigned field width */
.views-field-form-field-field-support-ticket-assigned-to {
  min-width: 400px; /* Business logic: minimum width for assignee field */
}

.views-exposed-form .fieldset {
  margin-top: var(--gin-spacing-s);
  border: 0;
  padding-top: 3px;
}

#views-exposed-form-support-tickets-page-1 .views-exposed-form__item.views-exposed-form__item.views-exposed-form__item--actions {
  margin-top: 0 !important;
  margin-block: 0 !important;
  margin-bottom: var(--gin-spacing-density-l) !important;
}