.claro-autocomplete {
  width: unset !important;
}

#coffee-results a {
  font-size: 1.3rem;
}

:root .c-green {
  color: var(--gin-color-green);
}

:root .c-yellow {
  color: var(--gin-color-yellow);
}

:root .c-red {
  color: var(--gin-color-red);
}

.votingapi-widgets.fivestar .form-item {
  margin-block: unset;
}

.br-theme-css-stars .br-widget a {
  font-size: 145% !important;
  margin-right: 0.15em !important;
}

.field--name-title input {
  font-size: 120%;
  width: 100%;
}

.field--name-field-media-images {
  display: flex;
}

.name-widget-wrapper {
  margin-block: var(--gin-spacing-xs);
  display: flex;
  flex-wrap: wrap;
  gap: 0.2rem;
}

.field--name-field-tags {
  display: flex;
  flex-wrap: wrap;
  margin-block: var(--gin-spacing-xs);
  column-gap: var(--gin-spacing-xxs);
  row-gap: var(--gin-spacing-xs);
}

.field--name-field-tags a {
  font-family: monospace;
  text-decoration: none;
  background-color: var(--color-blue);
  padding-inline: var(--gin-spacing-xs);
  padding-block: var(--gin-spacing-xxs);
  color: var(--gin-status-text);
  border-radius: 0.6em;
}

.field--name-field-tags a:is(:hover, :active, :focus) {
  background-color: var(--gin-color-focus);
  color: var(--gin-status-text);
}

.field--type-entity-reference div:has(> .generic.reference),
.field--type-dynamic-entity-reference div:has(> .generic.reference) {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 24rem), 1fr));
  gap: 1rem;
}

.fieldset__wrapper {
  align-items: end;
}

.view-uuid-table-column {
  text-transform: uppercase;
}

form.views-exposed-form.views-exposed-form {
  background: color-mix(in hsl, var(--gin-bg-layer), var(--gin-color-primary) 20%) !important;
}

form > fieldset[data-drupal-selector=edit-state] {
  flex: 100%;
}

form .layout-region > .field--type-string:first-of-type {
  --input-font-size: var(--font-size-h2);
}

.form-item__description[id^=edit-manager--] {
  display: none;
}

.form-type--boolean.form-type--radio {
  margin-inline-start: unset;
}

/* .form-checkboxes {
  column-width: 14rem;
} */
.bef--secondary {
  flex: 100%;
}

.bef-checkboxes {
  margin-block: var(--space-s);
  display: flex;
  gap: var(--space-s);
  flex-wrap: wrap;
}

.claro-details__content {
  display: grid;
  grid-auto-flow: dense;
  column-gap: var(--space-m);
  grid-template-columns: repeat(auto-fit, minmax(20ch, 1fr));
}

.claro-details__content > div {
  min-height: 1cm;
}

.claro-details__content > .field--type-image,
.claro-details__content > .field--type-string-long,
.claro-details__content > .field--widget-daterange-datelist {
  grid-column: span 2;
}

.claro-details__content > .field--widget-daterange-default {
  grid-column: span 3;
}

.claro-details__content > .form-type--textarea,
.claro-details__content > .field--widget-geofield-map,
.claro-details__content > .field--type-text-with-summary {
  grid-column: 1/-1;
}

.claro-details__wrapper .form-item__description {
  --gin-max-line-length: auto;
}

form.views-exposed-form {
  display: flex;
  flex-wrap: wrap;
}

.form-item--search {
  flex-grow: 1;
}

.form-item--search input {
  width: 100%;
}

[id^=views-exposed-form-search-] {
  margin-block: unset !important;
  padding: var(--gin-spacing-xs) !important;
}

[id^=views-exposed-form-search-] label {
  display: none;
}

[id^=views-exposed-form-search-] .form-item,
[id^=views-exposed-form-search-] .form-actions {
  margin-block: unset !important;
  margin-inline-end: var(--gin-spacing-xs);
}

[id^=views-exposed-form-search-] .form-item:last-child,
[id^=views-exposed-form-search-] .form-actions:last-child {
  margin-inline: unset;
}

#block-gin-exposedformsearch-companionreferences {
  padding: var(--gin-spacing-xs);
  background: linear-gradient(70deg, var(--gin-color-primary), color-mix(var(--gin-color-primary), skyblue 30%), color-mix(var(--gin-color-primary), fuchsia 10%));
}

#block-gin-exposedformsearch-companionreferences input::placeholder {
  color: var(--gin-color-primary);
}

#block-gin-exposedformsearch-companionreferences {
  border: unset;
  /* Slow ambient animation by default */
  animation: ai-gradient-flow 4s linear infinite;
  /* Subtle ambient glow */
  box-shadow: 0 4px 20px -2px rgba(192, 38, 211, 0.15);
  transition: box-shadow 0.3s ease, transform 0.3s ease;
  /* Hover state: slight lift and brighter glow */
}

#block-gin-exposedformsearch-companionreferences:hover {
  box-shadow: 0 6px 24px -2px rgba(192, 38, 211, 0.25);
}

#block-gin-exposedformsearch-companionreferences {
  /* Focus state: speeds up the animation and intensifies the glow */
}

#block-gin-exposedformsearch-companionreferences:focus {
  box-shadow: 0 0 25px rgba(6, 182, 212, 0.4), inset 0 0 10px rgba(79, 70, 229, 0.1);
}

.leaflet-container .leaflet-marker-icon img {
  max-height: 100%;
  max-width: 100%;
  aspect-ratio: 1;
  border-radius: 20%;
  box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
  background-color: var(--color--white);
}

.leaflet-marker-icon img {
  background: white;
}

.top-bar__content {
  grid-template-columns: auto auto 1fr !important;
}

.gin--navigation-top-bar .local-actions {
  gap: var(--gin-spacing-xxs) !important;
  justify-content: end;
}

@media (width < 64em) {
  .gin--navigation-top-bar {
    padding-inline: var(--gin-spacing-s) !important;
  }
  .top-bar__content {
    grid-template-columns: 1fr !important;
    gap: var(--admin-toolbar-space-4) !important;
  }
  .local-actions__item a {
    font-size: var(--gin-font-size-xxs) !important;
    padding-block: var(--gin-spacing-xxs) !important;
  }
}
.gin-breadcrumb__text {
  font-weight: var(--gin-font-weight-bold) !important;
}

/* Touch friendly admin lists */
.admin-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
}

.admin-list > .admin-item {
  min-height: 2cm;
}

.admin-list > .admin-item:first-child {
  margin-top: var(--gin-spacing-l);
}

.admin-list > .admin-item:after {
  all: unset !important;
}

@media print {
  .top-bar,
  .messages,
  .admin-toolbar-control-bar,
  .views-exposed-form,
  .dropbutton-widget {
    display: none !important;
  }
}
.table-full-width table {
  width: 100%;
}

.table-align-top table td {
  vertical-align: top;
}

.table-striped tr:nth-child(2n) {
  background-color: var(--color--gray-95);
}

@container (width < 20rem) {
  .table-stacked-20rem :where(th, td) {
    padding-block: var(--sp-xs);
    padding-inline-end: unset;
    border-block-end: unset;
  }
  .table-stacked-20rem th {
    display: none;
  }
  .table-stacked-20rem td {
    display: block;
  }
}
@container (width < 40rem) {
  .table-stacked-40rem :where(th, td) {
    padding-block: var(--sp-xs);
    padding-inline-end: unset;
    border-block-end: unset;
  }
  .table-stacked-40rem th {
    display: none;
  }
  .table-stacked-40rem td {
    display: block;
  }
}
@container (width < 60rem) {
  .table-stacked-60rem :where(th, td) {
    padding-block: var(--sp-xs);
    padding-inline-end: unset;
    border-block-end: unset;
  }
  .table-stacked-60rem th {
    display: none;
  }
  .table-stacked-60rem td {
    display: block;
  }
}
@container (width < 80rem) {
  .table-stacked-80rem :where(th, td) {
    padding-block: var(--sp-xs);
    padding-inline-end: unset;
    border-block-end: unset;
  }
  .table-stacked-80rem th {
    display: none;
  }
  .table-stacked-80rem td {
    display: block;
  }
}
.fs-xs {
  font-size: var(--font-size-xs);
}

.fs-s {
  font-size: var(--font-size-s);
}

.fs-m {
  font-size: var(--font-size-base);
}

.fs-l {
  font-size: var(--font-size-h4);
}

.fs-xl {
  font-size: var(--font-size-h3);
}

.fs-2xl {
  font-size: var(--font-size-h2);
}

.fs-3xl {
  font-size: var(--font-size-h1);
}

.f-mono {
  font-size: 125%;
}

.float-start {
  float: inline-start;
  margin-inline-end: var(--sp-s-m);
}

.layout-builder--content-preview-disabled .float-start {
  float: initial;
  background-color: var(--color--gray-70);
}

.float-end {
  float: inline-end;
  margin-inline-start: var(--sp-s-m);
}

.layout-builder--content-preview-disabled .float-end {
  float: initial;
  background-color: var(--color--gray-70);
}

.float-clear {
  clear: both;
}

.flex, .layout__region--flex {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* Map gap variables */
.gc-xs {
  grid-column-gap: var(--gin-spacing-xs);
}

.gr-xs {
  grid-row-gap: var(--gin-spacing-xs);
}

.gc-m {
  grid-column-gap: var(--gin-spacing-m);
}

.gr-m {
  grid-row-gap: var(--gin-spacing-m);
}

.gc-l {
  grid-column-gap: var(--gin-spacing-l);
}

.gr-l {
  grid-row-gap: var(--gin-spacing-l);
}

.gc-xl {
  grid-column-gap: var(--gin-spacing-xl);
}

.gr-xl {
  grid-row-gap: var(--gin-spacing-xl);
}

.mb-xs {
  margin-block: var(--gin-spacing-xs);
}

.mb-s {
  margin-block: var(--gin-spacing-s);
}

td > :is(h2, h3, h4, h5, h6, .button) {
  margin: unset;
}

td .item-list ol {
  margin: 0;
}

/* Stacked table @mobile */
@media (width < 40rem) {
  table.field-multiple-table td {
    display: block;
    padding-inline: unset;
  }
}
@media (width <= 60.99em) {
  form.taxonomy-overview-terms th.th__status,
  form.taxonomy-overview-terms td:has(> [class*=-status]) {
    display: none;
  }
}
.calendar-view-table td {
  border-color: var(--gin-color-text);
}

.calendar-view-table .today {
  background: var(--gin-color-focus-neutral-rgb);
  border-color: var(--gin-color-focus-border);
}

.calendar-view-table .today .calendar-view-day__number {
  background: var(--gin-color-focus);
}

.calendar-view-table .next-month,
.calendar-view-table .previous-month {
  color: var(--gin-color-disabled);
  background: var(--gin-color-disabled-bg);
  border-color: var(--gin-color-disabled-border);
}

.views-exposed-form {
  align-items: center;
}

.views-exposed-form .views-exposed-form fieldset .fieldset__wrapper {
  flex-wrap: wrap;
}

@media (width < 40rem) {
  .views-ui-display-tab-bucket__header {
    flex-direction: column;
  }
}
.proximity-filter-summary {
  display: none;
}

/* remove .view-content background when .gin-layer-wrapper is assigned for rows of the view */
.view-content .gin-layer-wrapper:has(.gin-layer-wrapper) {
  background: unset;
  padding: unset;
}

.gin-layer-wrapper .views-table {
  background: var(--gin-bg-layer);
}

:root {
  --font-size-l: 1.6rem;
}

.attention {
  color: var(--gin-color-danger);
}

.button {
  background-color: var(--gin-bg-input);
}

pre.sf-dump {
  font-size: 1rem !important;
}

:not(.leaflet-popup-content, .calendar-view-day__row) > .generic:not(.media) {
  padding-inline: var(--gin-spacing-m);
  padding-block: var(--gin-spacing-s);
}
:not(.leaflet-popup-content, .calendar-view-day__row) > .generic:not(.media) .view-content {
  padding: var(--gin-spacing-xs) var(--gin-spacing-s);
  border-radius: unset;
}
:not(.leaflet-popup-content, .calendar-view-day__row) > .generic:not(.media) {
  background: var(--gin-bg-layer2);
}
:not(.leaflet-popup-content, .calendar-view-day__row) > .generic:not(.media) .generic {
  background: var(--gin-bg-layer3);
}
:not(.leaflet-popup-content, .calendar-view-day__row) > .generic:not(.media) .generic .generic {
  background: var(--gin-bg-layer4);
}

details.olivero-details > .details-wrapper {
  background: var(--gin-color-focus);
  padding: 0.6rem;
}
