/* Brand and poster polish — presentation only; catalogue data and playback untouched. */
.brand-logo {
  width: clamp(42px, 4.2vw, 56px) !important;
  height: clamp(42px, 4.2vw, 56px) !important;
  object-fit: contain;
  border-radius: 12px;
  filter: drop-shadow(0 0 9px rgba(216,179,90,.18));
}
.brand-name {
  color: #f5df9c;
  text-shadow: 0 0 18px rgba(216,179,90,.12);
}
.brand-sub {
  letter-spacing: .08em;
}
.netflix-card {
  position: relative;
  transform: translateZ(0);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.netflix-card .card-media {
  aspect-ratio: 2 / 3;
  height: auto;
  position: relative;
}
.netflix-card .card-media::after {
  content: "";
  position: absolute;
  inset: 45% 0 0;
  pointer-events: none;
  background: linear-gradient(180deg, transparent, rgba(0,0,0,.22));
}
.netflix-card .card-media img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  object-position: center;
  transition: transform .35s ease, filter .35s ease;
}
.netflix-card:hover .card-media img {
  transform: scale(1.035);
  filter: saturate(1.06) contrast(1.03);
}
.card-info {
  background: linear-gradient(180deg, rgba(19,17,13,.96), #0b0b0a);
  border-top: 1px solid rgba(216,179,90,.10);
}
.browse-grid .netflix-card .card-media {
  aspect-ratio: 2 / 3;
}
@media (max-width: 600px) {
  .brand-logo {
    width: 40px !important;
    height: 40px !important;
    border-radius: 9px;
  }
  .brand-name { font-size: clamp(11px, 3vw, 14px); }
  .brand-sub { font-size: 10px; }
  .netflix-card {
    flex-basis: clamp(138px, 43vw, 176px);
    width: clamp(138px, 43vw, 176px);
    min-width: clamp(138px, 43vw, 176px);
    max-width: clamp(138px, 43vw, 176px);
  }
  .browse-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (prefers-reduced-motion: reduce) {
  .netflix-card, .netflix-card .card-media img { transition: none; }
}

/* High-visibility Android app callout on home and all-categories browse pages. */
.app-promo-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 18px clamp(16px, 4.5vw, 64px) 20px;
  padding: clamp(17px, 2.6vw, 26px);
  border: 1px solid rgba(225, 188, 98, .48);
  border-radius: 16px;
  background:
    radial-gradient(ellipse at 0% 50%, rgba(210, 162, 56, .17), transparent 55%),
    linear-gradient(115deg, #1b1710, #0c0c0b 72%);
  box-shadow: 0 12px 32px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,231,168,.06);
}
.app-promo-copy {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
}
.app-promo-kicker {
  color: #e6c777;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .16em;
}
.app-promo-copy strong {
  color: #fff3cf;
  font-size: clamp(16px, 2vw, 22px);
  line-height: 1.3;
}
.app-promo-copy > span:last-child {
  color: #c3bcae;
  font-size: 13px;
  line-height: 1.5;
}
.app-promo-cta {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 46px;
  padding: 12px 19px;
  border-radius: 999px;
  color: #171107 !important;
  background: linear-gradient(135deg, #ffe6a0, #d2a747);
  box-shadow: 0 5px 18px rgba(210,167,71,.18);
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
  transition: transform .18s ease, filter .18s ease;
  white-space: nowrap;
}
.app-promo-cta:hover {
  transform: translateY(-2px);
  filter: brightness(1.06);
}
.browse-app-promo {
  margin: 0 0 20px;
}
@media (max-width: 600px) {
  .app-promo-banner {
    align-items: stretch;
    flex-direction: column;
    gap: 13px;
    margin: 16px 14px 18px;
    padding: 17px;
    border-radius: 13px;
  }
  .browse-app-promo { margin-inline: 0; }
  .app-promo-cta { width: 100%; min-height: 44px; }
  .app-promo-copy > span:last-child { font-size: 12px; }
}
