.amazon-affiliate { margin: 2.5rem 0; }
.amazon-affiliate__heading { margin: 0 0 1rem; }
.amazon-affiliate__controls { display: flex; flex-wrap: wrap; gap: .6rem; margin: 0 0 1rem; }
.amazon-affiliate__search, .amazon-affiliate__filter { min-height: 2.6rem; max-width: 100%; padding: .45rem .65rem; border: 1px solid rgba(127,127,127,.5); border-radius: .35rem; }
.amazon-affiliate__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; }
.amazon-affiliate__card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid rgba(127,127,127,.35); border-radius: .65rem; background: #fff; color: #222; }
.amazon-affiliate__image-link { display: flex; align-items: center; justify-content: center; height: 190px; padding: .75rem; background: #fff; }
.amazon-affiliate__image-link img { max-width: 100%; max-height: 100%; object-fit: contain; }
.amazon-affiliate__body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; gap: .6rem; padding: 1rem; }
.amazon-affiliate__title { margin: 0; font-size: 1.05rem; line-height: 1.4; }
.amazon-affiliate__description { margin: 0; font-size: .95rem; }
.amazon-affiliate__category { font-size: .8rem; opacity: .75; }
.amazon-affiliate__button { display: inline-block; margin-top: auto; padding: .65rem 1rem; border-radius: .35rem; background: #f0a323; color: #111 !important; font-weight: 700; text-decoration: none !important; }
.amazon-affiliate__button:hover, .amazon-affiliate__button:focus { background: #d88c10; }
.amazon-affiliate__disclosure { margin: .75rem 0 0; font-size: .8rem; opacity: .8; }
.amazon-affiliate--related { padding-top: 1.5rem; border-top: 1px solid rgba(127,127,127,.3); }
@media (prefers-color-scheme: dark) { .amazon-affiliate__card { background: #202124; color: #f5f5f5; } }
