/**
 * Standard Plans (standard_plans_page View) — plain CSS, no build step.
 *
 * Edit this file directly. After saving, run `drush cr` (or hard-refresh the
 * browser) to see changes. Loaded via daudo_subtheme/standard-plans in
 * daudo_subtheme.libraries.yml.
 *
 * Scoped to the Standard Plans exposed filter form and table only.
 */

/* Site-wide Inter typography (matches tables.scss, navigation, body content).
 * Select/option elements need an explicit font-family; they do not inherit reliably. */
.faq-search-page,
.faq-search-page form[id^="views-exposed-form-standard-plans-page-"] .form-item label,
.faq-search-page form[id^="views-exposed-form-standard-plans-page-"] select,
.faq-search-page form[id^="views-exposed-form-standard-plans-page-"] input[type="submit"],
.faq-search-page table.base-table.plan-list th,
.faq-search-page table.base-table.plan-list td,
.faq-search-page table.base-table.plan-list a {
  font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
  font-size: 0.8rem;
}

.faq-search-page table.base-table.plan-list tr th {
  font-family: "Inter Bold", "Inter", "Helvetica Neue", Arial, sans-serif;
}

form[id^="views-exposed-form-standard-plans-page-"] {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 16px 20px;
  width: 100%;
  margin-bottom: 24px;
}

/* Filter dropdowns share the available width equally. */
form[id^="views-exposed-form-standard-plans-page-"] .form-item {
  flex: 1 1 180px;
  min-width: 160px;
  margin: 0;
}

form[id^="views-exposed-form-standard-plans-page-"] .form-item label {
  display: block;
  margin-bottom: 6px;
  font-weight: 600;
}

form[id^="views-exposed-form-standard-plans-page-"] select {
  width: 100%;
  border-radius: 12px;
}

form[id^="views-exposed-form-standard-plans-page-"] .form-actions {
  flex: 0 0 auto;
  margin: 0;
}

form[id^="views-exposed-form-standard-plans-page-"] .form-actions input[type="submit"],
form[id^="views-exposed-form-standard-plans-page-"] .form-actions button {
  min-height: 48px;
  padding: 0 28px;
  border: none;
  border-radius: 12px;
  background-color: #f5c400;
  color: #1b1b1b;
  font-weight: 700;
  font-size: 15px;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.1s ease;
}

/* Stack filters on small screens. */
@media (max-width: 767.98px) {
  form[id^="views-exposed-form-standard-plans-page-"] .form-item {
    flex: 1 1 100%;
  }
}

/**
 * Sortable column header indicators (Views tablesort).
 *
 * Unsorted columns show subtle up/down arrows so users know they can click to
 * sort. The actively sorted column uses Drupal's native .tablesort indicator.
 * Img column is excluded (not sortable).
 */
.faq-search-page table.base-table.plan-list thead th:not(.views-field-field-image) a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  color: inherit;
}

.faq-search-page table.base-table.plan-list thead th:not(.views-field-field-image) a:hover,
.faq-search-page table.base-table.plan-list thead th:not(.views-field-field-image) a:focus {
  text-decoration: underline;
}

/* Default hint on sortable columns that are not actively sorted. */
.faq-search-page table.base-table.plan-list thead th:not(.views-field-field-image):not(.is-active) a::after {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  content: "▲\A▼";
  white-space: pre;
  font-size: 9px;
  line-height: 0.85;
  color: #b9bec7;
  pointer-events: none;
}

/* Active sort: use Drupal's indicator; hide the default dual-arrow hint. */
.faq-search-page table.base-table.plan-list thead th.is-active a::after {
  content: none;
}

.faq-search-page table.base-table.plan-list .tablesort {
  display: inline-block;
  width: 14px;
  height: 14px;
  margin-left: 2px;
  vertical-align: middle;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.faq-search-page table.base-table.plan-list .tablesort--asc {
  background-image: url(/core/misc/icons/787878/twistie-down.svg);
}

.faq-search-page table.base-table.plan-list .tablesort--desc {
  background-image: url(/core/misc/icons/787878/twistie-up.svg);
}

/**
 * Column widths for the Standard Plans listing table.
 *
 * `.plan-list` is added only to this View's table (see
 * daudo_subtheme_preprocess_views_view_table()), so these widths do not affect
 * any other table. Plan No. / Firm Name are kept narrow and Plan Description is
 * given the most room. Widths are hints; content may still wrap.
 */
/* Uniform cell padding for every column.
 * Must beat tables.scss (.base-table → 13px 30px; .plan-list td:first-child → 13px 20px). */
.faq-search-page table.base-table.plan-list tr th,
.faq-search-page table.base-table.plan-list tr td,
.faq-search-page table.base-table.plan-list tr td:first-child {
  padding: 10px 10px;
}

table.plan-list th.views-field-field-image,
table.plan-list td.views-field-field-image {
  width: 64px;
}

table.plan-list th.views-field-field-plan-number,
table.plan-list td.views-field-field-plan-number {
  width: 8%;
}

table.plan-list th.views-field-title,
table.plan-list td.views-field-title {
  width: 28%;
}

table.plan-list th.views-field-body,
table.plan-list td.views-field-body {
  width: 35%;
}

table.plan-list th.views-field-field-plan-type,
table.plan-list td.views-field-field-plan-type {
  width: 10%;
}

table.plan-list th.views-field-field-status,
table.plan-list td.views-field-field-status {
  width: 10%;
}

/* Allow the narrow text columns to wrap instead of forcing width. */
table.plan-list td.views-field-field-plan-number,
table.plan-list td.views-field-title {
  white-space: normal;
  word-break: break-word;
}
