.vat-affiliate {
  width: min(100% - 32px, var(--vat-content-wide, 1180px));
  margin: var(--vat-section-gap, 64px) auto;
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid var(--vat-color-border, #ddd);
  border-radius: var(--vat-radius-panel, 18px);
  background: var(--vat-color-surface-soft, #f7f7f5);
  box-shadow: var(--vat-shadow-card, 0 8px 24px rgba(0,0,0,.08));
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .85fr);
  gap: clamp(20px, 3vw, 42px);
  align-items: center;
}
.vat-affiliate__eyebrow {
  display: inline-block;
  margin-bottom: 8px;
  font: 600 .76rem/1.2 var(--vat-font-body, system-ui, sans-serif);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--vat-color-accent, #b45f2a);
}
.vat-affiliate h2 {
  margin: 0 0 10px;
  color: var(--vat-color-heading, #1a1a1a);
  font-family: var(--vat-font-heading, Georgia, serif);
}
.vat-affiliate p {
  color: var(--vat-color-text, #333);
}
.vat-affiliate__disclosure {
  margin-top: 12px;
  font-size: .82rem;
  color: var(--vat-color-muted, #6b6b6b) !important;
}
.vat-affiliate__actions {
  display: flex;
  justify-content: flex-end;
}
.vat-affiliate__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 20px;
  border-radius: var(--vat-radius-button, 999px);
  background: var(--vat-color-accent, #b45f2a);
  color: var(--vat-color-on-accent, #fff) !important;
  text-decoration: none;
  font-weight: 700;
}
.vat-affiliate__button:hover,
.vat-affiliate__button:focus-visible {
  filter: brightness(.95);
  text-decoration: none;
}
.vat-affiliate__widget {
  min-width: 0;
}
.vat-affiliate--hotels .vat-affiliate__actions {
  justify-content: flex-start;
}
@media (max-width: 760px) {
  .vat-affiliate {
    grid-template-columns: 1fr;
    width: min(100% - 24px, var(--vat-content-wide, 1180px));
    margin: var(--vat-section-gap-compact, 42px) auto;
  }
  .vat-affiliate__actions { justify-content: flex-start; }
}

/* DEV10 presentation (Travel Editorial): horizontal high-value CTA with visible provider context.
   Resolution / placement logic is unchanged. */
.vat-page .vat-affiliate, .vat-page .vat-affiliate * { box-sizing: border-box; }
.vat-page .vat-affiliate {
  width: min(var(--vat-content-wide, 1180px), calc(100% - 2 * var(--vat-gutter, 20px)));
  border-left: 4px solid var(--vat-color-accent, #b45f2a);
  border-radius: 0 var(--vat-radius-panel, 18px) var(--vat-radius-panel, 18px) 0;
  box-shadow: none;
}
.vat-page .vat-affiliate h2 { font-size: clamp(1.35rem, 2.4vw, 1.9rem); line-height: 1.15; }
.vat-page .vat-affiliate__eyebrow {
  padding: 4px 10px;
  border-radius: var(--vat-radius-pill, 999px);
  background: var(--vat-color-surface, #fff);
  border: 1px solid var(--vat-color-border, rgba(0,0,0,.12));
  letter-spacing: .06em;
}
.vat-page .vat-affiliate--hotels { grid-template-columns: minmax(0, 1fr) auto; }
.vat-page .vat-affiliate__button { min-height: 50px; padding: 0 26px; white-space: nowrap; }
@media (max-width: 760px) {
  .vat-page .vat-affiliate, .vat-page .vat-affiliate--hotels { grid-template-columns: 1fr; width: calc(100% - 32px); }
  .vat-page .vat-affiliate__button { width: 100%; }
}
