/* SDB DS v3.2 — Editorial asset domain. */
:where(.sdb-editorial-grid,.sdb-editorial-card,.sdb-editorial-panel) { --sdb-asset-domain-editorial-loaded: 1; }

/* --------------------------------------------------------------------------
   v4.3.3 — Editorial adapter primitives, neutral mode and density controls
   -------------------------------------------------------------------------- */
:root {
  --sdb-editorial-title-xs: clamp(0.94rem, 0.78rem + 0.22vw, 1.02rem);
  --sdb-editorial-title-sm: clamp(1.02rem, 0.92rem + 0.38vw, 1.18rem);
  --sdb-editorial-title-md: clamp(1.18rem, 1.04rem + 0.58vw, 1.42rem);
  --sdb-editorial-title-lg: clamp(1.52rem, 1.22rem + 1.05vw, 2.05rem);
  --sdb-editorial-card-title-size: var(--sdb-editorial-title-sm);
  --sdb-editorial-card-title-line-height: 1.22;
  --sdb-editorial-card-title-weight: var(--sdb-font-weight-bold, 700);
  --sdb-editorial-feature-title-size: var(--sdb-editorial-title-lg);
  --sdb-editorial-feature-title-line-height: 1.12;
  --sdb-editorial-compact-title-size: var(--sdb-editorial-title-xs);
  --sdb-editorial-compact-title-line-height: 1.28;
  --sdb-editorial-gap-xs: 0.45rem;
  --sdb-editorial-gap-sm: 0.75rem;
  --sdb-editorial-gap-md: 1rem;
  --sdb-editorial-gap-lg: 1.5rem;
  --sdb-editorial-card-padding-sm: 0.85rem;
  --sdb-editorial-card-padding-md: 1.15rem;
  --sdb-editorial-list-gap: var(--sdb-editorial-gap-md);
  --sdb-editorial-compact-list-gap: var(--sdb-editorial-gap-sm);
  --sdb-editorial-adapter-gap: inherit;
  --sdb-editorial-adapter-padding: inherit;
  --sdb-editorial-adapter-radius: inherit;
  --sdb-editorial-adapter-shadow: none;
  --sdb-tag-on-image-bg: rgba(0, 0, 0, .36);
  --sdb-tag-on-image-color: var(--sdb-color-on-image, #fff);
  --sdb-tag-on-image-padding-y: .44em;
  --sdb-tag-on-image-padding-x: .7em;
  --sdb-tag-on-image-font-size: .72rem;
  --sdb-tag-on-image-letter-spacing: .06em;
  --sdb-density-editorial-compact-gap: var(--sdb-editorial-gap-sm);
  --sdb-density-editorial-comfortable-gap: var(--sdb-editorial-gap-md);
  --sdb-density-editorial-relaxed-gap: var(--sdb-editorial-gap-lg);
}

.sdb-editorial-card--adapter,
.sdb-editorial-card--neutral,
.sdb-editorial-card--inherit-layout {
  background: var(--sdb-editorial-adapter-bg, inherit);
  border: var(--sdb-editorial-adapter-border, 0);
  border-radius: var(--sdb-editorial-adapter-radius, inherit);
  box-shadow: var(--sdb-editorial-adapter-shadow, none);
  overflow: visible;
  color: inherit;
}

.sdb-editorial-card--adapter > :where(.sdb-editorial-card__inner, .sdb-editorial-content),
.sdb-editorial-card--neutral > :where(.sdb-editorial-card__inner, .sdb-editorial-content),
.sdb-editorial-card--inherit-layout > :where(.sdb-editorial-card__inner, .sdb-editorial-content) {
  padding: var(--sdb-editorial-adapter-padding, inherit);
}

.sdb-editorial-card--adapter :where(.sdb-editorial-title, .sdb-editorial-title-sm, .sdb-editorial-title-md),
.sdb-editorial-card--neutral :where(.sdb-editorial-title, .sdb-editorial-title-sm, .sdb-editorial-title-md),
.sdb-editorial-card--inherit-layout :where(.sdb-editorial-title, .sdb-editorial-title-sm, .sdb-editorial-title-md) {
  font-size: var(--sdb-editorial-card-title-size, inherit);
  line-height: var(--sdb-editorial-card-title-line-height, inherit);
  font-weight: var(--sdb-editorial-card-title-weight, inherit);
}

.sdb-editorial-grid--adapter,
.sdb-editorial-grid--inherit-layout,
.sdb-editorial-compact-list--adapter,
.sdb-editorial-topic-block--adapter,
.sdb-editorial-slider--adapter {
  gap: var(--sdb-editorial-adapter-gap, inherit);
}

.sdb-editorial-grid--adapter,
.sdb-editorial-grid--inherit-layout,
.sdb-editorial-slider--adapter {
  display: inherit;
  grid-template-columns: inherit;
  align-items: inherit;
}

.sdb-editorial-slider--adapter {
  min-height: 0;
  height: auto;
  width: auto;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  overflow: visible;
}

.sdb-editorial-card--compact,
.sdb-density-compact .sdb-editorial-card:not(.sdb-editorial-card--adapter):not(.sdb-editorial-card--inherit-layout) {
  --sdb-editorial-card-title-size: var(--sdb-editorial-compact-title-size);
  --sdb-editorial-card-title-line-height: var(--sdb-editorial-compact-title-line-height);
}

.sdb-editorial-card--compact > :where(.sdb-editorial-card__inner, .sdb-editorial-content),
.sdb-density-compact .sdb-editorial-card > :where(.sdb-editorial-card__inner, .sdb-editorial-content) {
  padding: var(--sdb-editorial-card-padding-sm);
}

.sdb-density-compact :where(.sdb-editorial-grid, .sdb-editorial-list, .sdb-editorial-compact-list) { gap: var(--sdb-density-editorial-compact-gap); }
.sdb-density-comfortable :where(.sdb-editorial-grid, .sdb-editorial-list, .sdb-editorial-compact-list) { gap: var(--sdb-density-editorial-comfortable-gap); }
.sdb-density-relaxed :where(.sdb-editorial-grid, .sdb-editorial-list, .sdb-editorial-compact-list) { gap: var(--sdb-density-editorial-relaxed-gap); }
.sdb-editorial-card--comfortable > :where(.sdb-editorial-card__inner, .sdb-editorial-content) { padding: var(--sdb-editorial-card-padding-md); }
.sdb-editorial-card--relaxed > :where(.sdb-editorial-card__inner, .sdb-editorial-content) { padding: clamp(1.25rem, 2vw, 1.85rem); }

.sdb-editorial-link {
  display: inline-flex;
  align-items: center;
  gap: .35em;
  color: var(--sdb-editorial-link-color, var(--sdb-color-primary));
  font-family: inherit;
  font-size: inherit;
  font-weight: var(--sdb-editorial-link-weight, var(--sdb-font-weight-semibold, 600));
  letter-spacing: inherit;
  line-height: inherit;
  text-decoration: none;
  text-transform: none;
}
.sdb-editorial-link::after { content: none; }
.sdb-editorial-link--arrow::after,
.sdb-editorial-link--with-arrow::after {
  content: "→";
  display: inline-block;
  margin-left: .25em;
  transition: transform var(--sdb-transition-fast, 160ms) ease;
}
.sdb-editorial-link--arrow:hover::after,
.sdb-editorial-link--with-arrow:hover::after { transform: translateX(3px); }
.sdb-editorial-link--plain::after { content: none; }
.sdb-editorial-link--underline { text-decoration: underline; text-underline-offset: .22em; }

.sdb-tag-on-image {
  padding: var(--sdb-tag-on-image-padding-y) var(--sdb-tag-on-image-padding-x);
  border-radius: var(--sdb-radius-pill, 999px);
  background: var(--sdb-tag-on-image-bg);
  color: var(--sdb-tag-on-image-color);
  font-size: var(--sdb-tag-on-image-font-size);
  letter-spacing: var(--sdb-tag-on-image-letter-spacing);
}
.sdb-tag-on-image--compact {
  --sdb-tag-on-image-padding-y: .28em;
  --sdb-tag-on-image-padding-x: .52em;
  --sdb-tag-on-image-font-size: .68rem;
  box-shadow: none;
  backdrop-filter: none;
}
.sdb-tag-on-image--adapter {
  padding: var(--sdb-tag-on-image-adapter-padding, inherit);
  background: var(--sdb-tag-on-image-bg, inherit);
  color: var(--sdb-tag-on-image-color, inherit);
  border: var(--sdb-tag-on-image-adapter-border, 0);
  border-radius: var(--sdb-tag-on-image-adapter-radius, inherit);
  box-shadow: none;
  backdrop-filter: none;
  text-transform: inherit;
  letter-spacing: inherit;
}

.sdb-editorial-card--adapter :where(.sdb-editorial-link, .sdb-editorial-pill, .sdb-tag-on-image),
.sdb-editorial-grid--adapter :where(.sdb-editorial-link, .sdb-editorial-pill, .sdb-tag-on-image),
.sdb-editorial-slider--adapter :where(.sdb-editorial-link, .sdb-editorial-pill, .sdb-tag-on-image) {
  max-width: 100%;
}



/* v5.14.2 — Compact app promotion */
.sdb-app-promo {
  --sdb-app-promo-media-width: clamp(108px, 11vw, 156px);
  --sdb-app-promo-gap: clamp(16px, 2vw, 26px);
  --sdb-app-promo-title-color: var(--sdb-color-title);
  --sdb-app-promo-text-color: var(--sdb-color-text);
  --sdb-app-promo-eyebrow-color: var(--sdb-color-primary);
  --sdb-app-promo-link-bg: var(--sdb-color-surface);
  --sdb-app-promo-link-color: var(--sdb-color-title);
  --sdb-app-promo-link-border: var(--sdb-color-border);

  display: grid;
  grid-template-columns: minmax(0, var(--sdb-app-promo-media-width)) minmax(0, 1fr);
  gap: var(--sdb-app-promo-gap);
  align-items: center;
  min-width: 0;
  color: var(--sdb-app-promo-text-color);
}

.sdb-app-promo__media {
  min-width: 0;
  margin: 0;
}

.sdb-app-promo__media img {
  display: block;
  width: 100%;
  max-height: 156px;
  object-fit: contain;
}

.sdb-app-promo__content {
  min-width: 0;
}

.sdb-app-promo__eyebrow {
  margin: 0 0 5px;
  color: var(--sdb-app-promo-eyebrow-color);
  font-size: .68rem;
  font-weight: var(--sdb-font-weight-bold, 700);
  letter-spacing: .14em;
  line-height: 1.3;
  text-transform: uppercase;
}

.sdb-app-promo__title {
  margin: 0;
  color: var(--sdb-app-promo-title-color);
  font-family: var(--sdb-font-heading);
  font-size: clamp(1.15rem, 1rem + .5vw, 1.5rem);
  font-weight: var(--sdb-font-weight-bold, 700);
  line-height: 1.12;
  text-wrap: balance;
}

.sdb-app-promo__text {
  margin: 7px 0 0;
  color: var(--sdb-app-promo-text-color);
  font-size: .9rem;
  line-height: 1.45;
}

.sdb-app-promo__store-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.sdb-app-promo__store-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 7px 12px;
  border: 1px solid var(--sdb-app-promo-link-border);
  border-radius: var(--sdb-radius-md, 10px);
  background: var(--sdb-app-promo-link-bg);
  color: var(--sdb-app-promo-link-color);
  font-size: .78rem;
  font-weight: var(--sdb-font-weight-semibold, 600);
  line-height: 1.15;
  text-decoration: none;
  transition: border-color var(--sdb-transition-fast, 160ms) ease, color var(--sdb-transition-fast, 160ms) ease, background-color var(--sdb-transition-fast, 160ms) ease;
}

.sdb-app-promo__store-link:hover {
  border-color: var(--sdb-color-primary);
  color: var(--sdb-color-primary);
  text-decoration: none;
}

.sdb-app-promo__store-link:focus-visible {
  outline: none;
  box-shadow: var(--sdb-focus-ring, 0 0 0 3px rgba(0, 88, 183, .18));
}

.sdb-app-promo--media-end {
  grid-template-columns: minmax(0, 1fr) minmax(0, var(--sdb-app-promo-media-width));
}

.sdb-app-promo--media-end .sdb-app-promo__media {
  grid-column: 2;
  grid-row: 1;
}

.sdb-app-promo--media-end .sdb-app-promo__content {
  grid-column: 1;
  grid-row: 1;
}

@media (max-width: 520px) {
  .sdb-app-promo,
  .sdb-app-promo--media-end {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .sdb-app-promo .sdb-app-promo__media,
  .sdb-app-promo--media-end .sdb-app-promo__media,
  .sdb-app-promo .sdb-app-promo__content,
  .sdb-app-promo--media-end .sdb-app-promo__content {
    grid-column: 1;
  }

  .sdb-app-promo .sdb-app-promo__media,
  .sdb-app-promo--media-end .sdb-app-promo__media {
    grid-row: 1;
    width: min(42%, 132px);
  }

  .sdb-app-promo .sdb-app-promo__content,
  .sdb-app-promo--media-end .sdb-app-promo__content {
    grid-row: 2;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sdb-app-promo__store-link {
    transition: none;
  }
}

/* Interview paragraphs share the canonical opt-in rules with the legacy bundle. */
.sdb-interview-question,
p.is-style-sdb-interview-question {
  margin-block-start: var(--sdb-space-8, 32px) !important;
  margin-block-end: var(--sdb-space-3, 12px) !important;
  padding-inline-start: var(--sdb-space-4, 16px);
  border-inline-start: 3px solid var(--sdb-color-primary, #0058B7);
  color: var(--sdb-color-title, #364048) !important;
  font-size: 1.08em !important;
  font-weight: var(--sdb-font-weight-bold, 700) !important;
  line-height: 1.48;
}
.sdb-interview-question:first-child,
p.is-style-sdb-interview-question:first-child {
  margin-block-start: 0 !important;
}
/* Answers retain the typography, colour and spacing of ordinary theme paragraphs. */
.sdb-interview-answer,
p.is-style-sdb-interview-answer {
  text-wrap: pretty;
}

/* Paridade com o bundle consolidado para a estrutura e os controlos do carrossel. */
.sdb-editorial-carousel { display: grid; gap: var(--sdb-space-md, 16px); min-inline-size: 0; }
.sdb-editorial-carousel__track { display: grid; grid-auto-flow: column; grid-auto-columns: var(--sdb-carousel-item-width, min(82vw, 320px)); gap: var(--sdb-carousel-gap, var(--sdb-space-lg, 24px)); overflow-x: auto; scroll-snap-type: x proximity; padding-bottom: 6px; }
.sdb-editorial-carousel__item { scroll-snap-align: start; }

/* Controlo canónico opt-in para carrosséis editoriais. O consumidor gere navegação e dados. */
.sdb-editorial-carousel__controls {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
}
.sdb-editorial-carousel__control {
  display: inline-grid;
  place-items: center;
  inline-size: 40px;
  block-size: 40px;
  margin: 0;
  padding: 0;
  border: 1px solid var(--sdb-color-border, #d6dbe3);
  border-radius: 50%;
  background: var(--sdb-color-surface, #fff);
  color: var(--sdb-color-heading, #364048);
  box-shadow: none;
  cursor: pointer;
  transition: border-color .18s ease, background-color .18s ease, color .18s ease;
}
.sdb-editorial-carousel__control:hover:not(:disabled) {
  border-color: var(--sdb-color-primary, #0058b7);
  color: var(--sdb-color-primary, #0058b7);
}
.sdb-editorial-carousel__control:focus-visible {
  outline: 2px solid var(--sdb-color-primary, #0058b7);
  outline-offset: 3px;
}
.sdb-editorial-carousel__control:disabled {
  opacity: .4;
  cursor: default;
}
.sdb-editorial-carousel__control .sdb-icon {
  inline-size: 20px;
  block-size: 20px;
}
@media (prefers-reduced-motion: reduce) {
  .sdb-editorial-carousel__control { transition: none; }
}
@media (forced-colors: active) {
  .sdb-editorial-carousel__control { border: 1px solid ButtonText; color: ButtonText; }
  .sdb-editorial-carousel__control:disabled { color: GrayText; border-color: GrayText; opacity: 1; }
}

