/* A shared monochrome vector, independent of OS emoji and installed fonts. */
.dd-arrow-icon { display: inline-block; width: 1em; height: 1em; flex: 0 0 auto; vertical-align: -.12em; overflow: visible; }
.dd-arrow-icon path { stroke: currentColor; stroke-width: 1.6; stroke-linecap: square; stroke-linejoin: miter; }
html.dd-static .ddz-menu-panel .et_clickable::after {
  content: ""; width: 13px; height: 13px; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.6' d='M5 19 19 5M5 5h14v14'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.6' d='M5 19 19 5M5 5h14v14'/%3E%3C/svg%3E") center/contain no-repeat;
}
.dd-carousel-controls { display: none; }
html.dd-static #page-container #et-main-area .dd-loop-paused :is(.dd-track, .dd-logo-track) { animation-play-state: paused !important; }

/* Neutral defaults leave component-specific button and icon colours intact. */
html.dd-static {
  --gcid-primary-color: #f1f0eb;
  --gcid-link-color: #f1f0eb;
}
:where(html.dd-static #page-container) a:any-link { color: #edede9; }
:where(html.dd-static #page-container) a:focus-visible { outline: 1px solid #edede9; outline-offset: 4px; }

/* All three steps start at the same point, regardless of copy length. */
html.dd-static body[data-dd-route="/"] #page-container .dd-workflow-table > .et_pb_column.dd-technical-cell {
  justify-content: flex-start !important;
  align-items: stretch !important;
  align-self: stretch !important;
  height: auto !important;
  max-height: none !important;
  padding: 32px 16px !important;
  gap: 8px !important;
}
html.dd-static body[data-dd-route="/"] #page-container .dd-workflow-table .et_pb_text,
html.dd-static body[data-dd-route="/"] #page-container .dd-workflow-table .et_pb_text_inner {
  width: 100% !important;
  max-width: none !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}
html.dd-static body[data-dd-route="/"] #page-container .dd-workflow-table h3 {
  margin: 0 0 12px !important;
  padding: 0 !important;
}
html.dd-static body[data-dd-route="/"] #page-container #et-main-area #dd-workflow .dd-workflow-table > .et_pb_column.dd-technical-cell .et_pb_text .et_pb_text_inner h3 + p {
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  text-wrap: wrap;
  line-height: 1.6 !important;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}
@media (min-width: 1101px) {
  /* The longer Polish heading needs two lines in the compact desktop cards. */
  html.dd-static:lang(pl) body[data-dd-route="/"] #page-container .dd-workflow-table h3 { min-height: 2.24em; min-height: 2lh; }
}
@media (min-width: 768px) and (max-width: 1100px) {
  html.dd-static body[data-dd-route="/"] #page-container .dd-workflow-layout { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 767px) {
  /* Native scroll-snap: touch, keyboard and links work without a slider library.
     Insets reserve space for the extended corner lines; the next card peeks in. */
  html.dd-static body[data-dd-route] #page-container #et-main-area [data-dd-carousel][data-dd-carousel] {
    display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important;
    align-items: stretch !important; gap: 16px !important; width: calc(100% + 16px) !important;
    max-width: none !important; margin-inline: -8px !important; padding: 9px 8px 16px !important;
    overflow-x: auto !important; overflow-y: hidden !important;
    scroll-snap-type: x mandatory; scroll-padding-inline: 8px; overscroll-behavior-x: contain;
    scrollbar-width: none; -webkit-overflow-scrolling: touch;
  }
  [data-dd-carousel]::-webkit-scrollbar { display: none; }
  html.dd-static body[data-dd-route] #page-container #et-main-area .et_pb_row[data-dd-carousel][data-dd-carousel] {
    width: calc(100% - 32px) !important; margin-inline: auto !important;
  }
  html.dd-static body[data-dd-route] #page-container #et-main-area [data-dd-carousel][data-dd-carousel] > :is(article, figure, .et_pb_column, .dd-technical-cell) {
    flex: 0 0 calc(100% - 40px) !important; width: calc(100% - 40px) !important; max-width: none !important;
    min-width: 0 !important; margin: 0 !important; float: none !important; scroll-snap-align: start;
  }
  html.dd-static body[data-dd-route] #page-container [data-dd-carousel] > .dd-person { min-height: 0 !important; }
  html.dd-static body[data-dd-route] #page-container [data-dd-carousel] .dd-person-image { aspect-ratio: 4 / 5; overflow: hidden; }
  html.dd-static body[data-dd-route] #page-container [data-dd-carousel] .dd-person-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 35%; }
  html.dd-static body[data-dd-route] #page-container [data-dd-carousel] .dd-person-image--zapsa img { object-position: center 38%; }
  html.dd-static body[data-dd-route] #page-container [data-dd-carousel] .dd-person-copy { padding: 24px 20px; }
  html.dd-static body[data-dd-route] #page-container #et-main-area [data-dd-carousel] .dd-person-copy > p:not(.dd-person-role) { font-size: 15px; line-height: 1.6; }
  html.dd-static body[data-dd-route] #page-container [data-dd-carousel] .dd-person-copy .dd-editorial-link { min-height: 44px; }
  html.dd-static body[data-dd-route] #page-container [data-dd-carousel] > .dd-client-card { padding: 26px 22px 22px; }
  html.dd-static body[data-dd-route] #page-container [data-dd-carousel] > .dd-technical-cell { height: auto !important; min-height: 0 !important; }
  html.dd-static body[data-dd-route] #page-container [data-dd-carousel] > .dd-technical-cell::after { display: none; }
  html.dd-static body[data-dd-route] #page-container .dd-ambassador-gallery[data-dd-carousel] > figure { display: flex; flex-direction: column; }
  .dd-ambassador-gallery[data-dd-carousel] .dd-ambassador-photo-link { aspect-ratio: 4/5; display: grid; place-items: center; flex-shrink: 0; }
  .dd-ambassador-gallery[data-dd-carousel] .dd-ambassador-photo-link img { width: 100%; height: 100%; object-fit: contain; }
  .dd-ambassador-gallery[data-dd-carousel] figcaption { flex: 1; }
  html.dd-static body[data-dd-route] #page-container .dd-carousel-controls:not([hidden]) {
    display: flex; justify-content: space-between; align-items: center; gap: 16px;
    width: 100%; padding: 0 0 8px; margin: 0; color: #a5a59e;
  }
  html.dd-static body[data-dd-route] #page-container .dd-carousel-controls--row:not([hidden]) {
    width: calc(100% - 48px); max-width: 1200px; margin-inline: auto;
  }
  html.dd-static body[data-dd-route] #page-container .dd-carousel-controls button {
    display: grid; place-items: center; width: 44px; height: 44px; flex: 0 0 44px;
    border: 1px solid #353532; border-radius: 0; color: #efefea; background: #000; padding: 0;
    font-size: 16px; cursor: pointer;
  }
  .dd-carousel-controls button:disabled { opacity: .3; cursor: default; }
  .dd-carousel-controls button:focus-visible, [data-dd-carousel]:focus-visible { outline: 1px solid #efefea; outline-offset: 3px; }
  html.dd-static body[data-dd-route] #page-container .dd-carousel-status {
    display: flex; flex: 1; justify-content: space-between; align-items: center; gap: 8px; position: relative;
    color: #999992; font: 400 10px/1.5 var(--dd-font-text); margin: 0; padding: 0 0 9px;
  }
  .dd-carousel-status::after { content: ""; position: absolute; bottom: 0; inset-inline: 0; height: 1px; background: linear-gradient(to right, #efefea 0 var(--dd-carousel-progress, 0%), #353532 var(--dd-carousel-progress, 0%) 100%); }
  .dd-carousel-status output { color: #deded7; font-variant-numeric: tabular-nums; }
}
/* Keep both ends of the car in view without tying its crop to translated copy. */
html.dd-static body[data-dd-route="/"] #page-container #dd-signal .et_pb_row_12 {
  background-color: #000 !important;
}
html.dd-static body[data-dd-route="/"] #page-container #dd-signal .dd-signal-porsche {
  min-height: 0 !important;
  aspect-ratio: 6 / 7;
  height: auto !important;
  align-self: center !important;
}
@media (max-width: 980px) {
  html.dd-static body[data-dd-route="/"] #page-container #dd-signal .dd-signal-porsche { aspect-ratio: 1; }
}
@media (prefers-reduced-motion: reduce) {
  [data-dd-carousel] { scroll-behavior: auto !important; }
  .dd-arrow-icon { transition: none; }
  /* The legacy animation class must not hide static content in this mode. */
  html.dd-static .dd-scroll-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
}
