/* New bundle and new View only; inherit the existing editorial design. */
.node--type-transport-direction { min-width: 0; }
.transport-direction .direction-parent {
  display: inline-block;
  margin-bottom: 24px;
  font-size: 15px;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.transport-direction .direction-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 370px;
  align-items: center;
  gap: 48px;
  margin-bottom: 36px;
  padding-bottom: 36px;
  border-bottom: 1px solid rgba(11, 33, 52, .14);
}
.transport-direction .direction-intro--text { grid-template-columns: minmax(0, 840px); }
.transport-direction .direction-intro__copy { color: #243c4e; font-size: 18px; line-height: 1.65; }
.transport-direction .direction-intro__copy .btn { width: min(100%, 310px); margin-top: 24px; }
.transport-direction :is(.btn, .webform-button--submit) { max-width: 100%; white-space: normal; border-radius: 30px; }
.transport-direction .field--name-field-direction-cover img { display: block; width: 100%; max-width: 100%; height: auto; border-radius: 32px; }
.transport-direction .direction-intro > .field--name-field-direction-cover { margin: 0; }
.transport-direction .direction-body,
.transport-direction .direction-faq,
.transport-direction .direction-request { max-width: 840px; margin-inline: auto; }
.transport-direction .direction-section { margin-block: 40px; }
.transport-direction :is(.direction-section, .direction-request) > h2 {
  margin: 0 0 24px;
  color: #0b2134;
  font-size: 29px;
  line-height: 1.25;
  text-align: left;
}
.transport-direction .direction-cards,
.view-transport-directions .view-content {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.direction-card {
  min-width: 0;
  height: 100%;
  overflow: hidden;
  border-radius: 28px;
  background: #102a42;
  color: #e0e7ed;
}
.direction-card .direction-card__link { display: block; height: 100%; color: inherit; text-decoration: none; }
.direction-card .direction-card__copy { padding: 20px 22px 24px; }
.direction-card .direction-card__copy h3 { margin: 0 0 12px; color: #fff; font-size: 20px; line-height: 1.35; text-align: left; }
.direction-card .direction-card__copy h3 a { color: inherit; }
.direction-card .direction-card__intro { font-size: 15px; line-height: 1.55; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.direction-card :is(.field--name-field-direction-cover, .field--name-field-catalog-image, .field--name-field-image, .field--name-field-foto, .field--name-field-media-image, .field__item) { margin: 0; min-width: 0; width: 100%; }
.direction-card img { display: block; width: 100%; max-width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 0; }
.direction-card a:hover,
.direction-card .direction-card__link:hover h3 { color: #ffad76; }
.direction-card a:focus-visible,
.transport-direction :is(a, button, input, textarea):focus-visible { outline: 2px solid #f06e20; outline-offset: 3px; }
.direction-card .direction-card__link:focus-visible { outline-offset: -4px; }
.transport-direction .direction-faq { margin-block: 40px; color: #243c4e; font-size: 18px; line-height: 1.65; }
.transport-direction .direction-faq h2 { color: #0b2134; font-size: 29px; line-height: 1.25; text-align: left; }
.transport-direction .direction-faq .editorial-faq__item > summary :is(h2, h3, h4, h5, h6) { margin: 0; font-size: inherit; line-height: inherit; }
.transport-direction .direction-faq:has(> .field--name-field-direction-faq:empty),
.transport-direction .direction-faq:empty { display: none; }
.transport-direction .direction-request { margin-top: 48px; scroll-margin-top: 100px; }
.transport-direction .direction-request :is(input, textarea, select) { max-width: 100%; }
@media (max-width: 1199px) {
  .transport-direction .direction-intro { grid-template-columns: minmax(0, 1fr) 280px; gap: 32px; }
  .transport-direction .direction-intro--text { grid-template-columns: minmax(0, 1fr); }
  .transport-direction .direction-cards,
  .view-transport-directions .view-content { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .transport-direction .direction-intro { grid-template-columns: minmax(0, 1fr); gap: 24px; margin-bottom: 28px; padding-bottom: 28px; }
  .transport-direction .direction-intro__copy,
  .transport-direction .direction-faq { font-size: 17px; }
  .transport-direction .direction-cards,
  .view-transport-directions .view-content { grid-template-columns: minmax(0, 1fr); }
  .transport-direction :is(.direction-section, .direction-request) > h2,
  .transport-direction .direction-faq h2 { font-size: 25px; }
  .transport-direction .direction-section { margin-block: 32px; }
}
