/* Shared by the responsive site and the legacy mobile UI. */
.tab_affiliate_block { margin-top: 20px; color: #1f2328; font-size: 14px; line-height: 1.5; }
.tab_affiliate_artist { padding: 20px; border: 1px solid #e6ccd3; border-radius: 12px; background: linear-gradient(125deg, #fff3ef, #f7f0f7 55%, #edf8f6); }
.tab_affiliate_eyebrow { display: block; margin-bottom: 5px; color: #c0261f; font-size: 12px; font-weight: 700; }
.tab_affiliate_block .tab_affiliate_headline { margin: 0 0 8px; padding: 0; border: 0; font-size: 20px; line-height: 1.3; color: #1f2328; }
.tab_affiliate_block .tab_affiliate_copy { margin: 0 0 16px; max-width: 78ch; }
.tab_affiliate { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; }
.tab_affiliate_link {
  display: flex; align-items: center; gap: 12px; min-width: 0; min-height: 44px;
  box-sizing: border-box; padding: 8px 16px; border: 1px solid #923c4f; border-radius: 8px;
  background: linear-gradient(115deg, #321c3b, #75243b 65%, #b33b3a);
  color: #f4dce3; font-size: 13px; line-height: 1.45; text-decoration: none;
  transition: box-shadow .2s ease, border-color .2s ease;
}
.tab_affiliate_text { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.tab_affiliate_text strong { color: #fff; font-weight: 700; }
.tab_affiliate_arrow { color: #ffd166; font-size: 18px; line-height: 1; }
.tab_affiliate_link:hover { color: #f4dce3; border-color: #ffc47b; box-shadow: 0 4px 14px rgba(92, 24, 48, .12); }
.tab_affiliate_link:focus-visible { outline: 3px solid #cf8615; outline-offset: 3px; }
.tab_affiliate_effects { border-color: #26777d; background: linear-gradient(115deg, #123846, #11555b 65%, #176a61); color: #d1eeeb; }
.tab_affiliate_effects .tab_affiliate_arrow { color: #b1f5db; }
.tab_affiliate_effects:hover { color: #d1eeeb; border-color: #b1f5db; }
.tab_affiliate_product { align-items: stretch; padding: 16px; background: linear-gradient(115deg, #321c3b, #75243b 65%, #923044); border-color: #923c4f; color: #f4dce3; }
.tab_affiliate_photo { display: block; flex: 0 0 120px; width: 120px; height: 160px; object-fit: contain; background: #fff; border-radius: 6px; }
.tab_affiliate_photo[hidden] { display: none; }
.tab_affiliate_product .tab_affiliate_text { display: flex; flex-direction: column; }
.tab_affiliate_product strong { display: block; color: #fff; font-size: 15px; line-height: 1.4; }
.tab_affiliate_product:hover { color: #f4dce3; border-color: #ffc47b; }
.tab_affiliate_category { display: block; margin-bottom: 5px; color: #6b7280; font-size: 12px; }
.tab_affiliate_product .tab_affiliate_reason { display: block; margin-top: 7px; }
.tab_affiliate_note { display: block; margin-top: 5px; font-size: 12px; }
.tab_affiliate_product .tab_affiliate_category, .tab_affiliate_product .tab_affiliate_note { color: #ffe4e8; }
.tab_affiliate_cta { display: block; margin-top: auto; padding-top: 14px; color: #ffd166; font-weight: 700; }
.tab_affiliate_product:nth-child(even) { background: linear-gradient(115deg, #123846, #11555b 65%, #176a61); border-color: #26777d; color: #d1eeeb; }
.tab_affiliate_product:nth-child(even):hover { color: #d1eeeb; border-color: #b1f5db; box-shadow: 0 4px 14px rgba(12, 78, 83, .16); }
.tab_affiliate_product:nth-child(even) .tab_affiliate_category, .tab_affiliate_product:nth-child(even) .tab_affiliate_note { color: #d1eeeb; }
.tab_affiliate_product:nth-child(even) .tab_affiliate_cta { color: #b1f5db; }
.tab_affiliate_product:nth-child(even):focus-visible { outline-color: #12877e; }
.tab_affiliate_generic .tab_affiliate_reason { display: block; }
.tab_affiliate_block .tab_affiliate_trial { margin: 12px 0 0; }
.tab_affiliate_link.tab_affiliate_trial_link { display: inline-block; min-height: 0; padding: 3px 0; border: 0; background: none; box-shadow: none; color: #c0261f; text-decoration: underline; font-size: 12px; }
.tab_affiliate_block .tab_affiliate_disclosure { margin: 12px 0 0; color: #6b7280; font-size: 12px; }
.tab_affiliate_disclosure a { color: #6b7280; text-decoration: underline; }
@media (max-width: 860px) {
  .tab_affiliate { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .tab_affiliate_artist { padding: 16px; }
}
@media (max-width: 480px) {
  .tab_affiliate_photo { flex-basis: 80px; width: 80px; height: 120px; }
  .tab_affiliate_product { gap: 12px; padding: 12px; }
}
@media (max-width: 360px) {
  .tab_affiliate_product { flex-direction: column; }
  .tab_affiliate_photo { flex: none; width: 100%; height: 140px; }
}
@media (prefers-reduced-motion: reduce) { .tab_affiliate_link { transition: none; } }
@media print { .tab_affiliate_block { display: none; } }
