/* Raduga header refinement 2026-10-27: additive visual patch; content untouched. */
@keyframes rd-rainbow-flow {
  0% { background-position: 0% 50%; filter: saturate(1.05); }
  50% { background-position: 100% 50%; filter: saturate(1.3); }
  100% { background-position: 0% 50%; filter: saturate(1.05); }
}
@keyframes rd-rainbow-glow {
  0%,100% { opacity: .65; }
  50% { opacity: 1; }
}
.approved-header {
  position: relative;
  isolation: isolate;
  overflow: visible;
  border-top: 5px solid transparent;
  border-image: linear-gradient(90deg,#ff5a91,#ffbd42,#f9e65c,#55dba2,#38bdf8,#8b72f8,#ff5a91) 1;
}
.approved-header:after {
  content: "";
  pointer-events: none;
  position: absolute;
  z-index: 2;
  top: -5px;
  left: 0;
  right: 0;
  height: 5px;
  background: linear-gradient(100deg,#ff4f91,#ffb936,#fff06b,#39d99a,#31bdf5,#8668ff,#ff4f91);
  background-size: 260% 100%;
  animation: rd-rainbow-flow 7s ease-in-out infinite, rd-rainbow-glow 3.5s ease-in-out infinite;
  box-shadow: 0 2px 12px #e96bab52;
}
@media (min-width: 991px) {
  .approved-nav {
    display: grid !important;
    grid-template-columns: minmax(225px, 1fr) auto minmax(145px, 175px) auto 70px !important;
    grid-template-rows: auto !important;
    align-items: center;
    gap: 8px 12px !important;
    width: calc(100% - 56px);
    max-width: 1540px;
    min-height: 106px !important;
    padding: 15px 0 12px !important;
  }
  .official-brand { grid-column: 1; grid-row: 1; min-width: 0; max-width: none; }
  .official-brand strong { font-size: clamp(13px, 1.05vw, 17px) !important; line-height: 1.32 !important; }
  .official-brand span { font-size: 13px !important; margin-top: 4px !important; }
  .approved-menu {
    grid-column: 2; grid-row: 1;
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: center;
    width: auto;
    min-width: 0;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    white-space: nowrap;
  }
  .approved-menu a {
    white-space: nowrap;
    padding: 10px 8px !important;
    font-size: clamp(10px, .78vw, 12px) !important;
    line-height: 1.1 !important;
  }
  .rd-global-search {
    grid-column: 3; grid-row: 1;
    flex: 0 1 175px !important;
    width: 100%;
    min-width: 0 !important;
    max-width: 175px !important;
  }
  .rd-global-search input { font-size: 12px !important; }
  .approved-family {
    grid-column: 4; grid-row: 1;
    min-width: 0 !important;
    white-space: nowrap;
    margin: 0 !important;
    padding: 10px 9px !important;
    font-size: 11px !important;
  }
  .approved-emblem {
    grid-column: 5; grid-row: 1;
    position: static !important;
    width: 68px !important;
    height: 72px !important;
    object-fit: contain;
  }
}
@media (min-width: 991px) and (max-width: 1230px) {
  .approved-nav { grid-template-columns: minmax(190px,1fr) auto 132px auto 58px !important; gap: 6px !important; width: calc(100% - 34px); }
  .approved-menu a { padding: 9px 5px !important; font-size: 10px !important; }
  .approved-family { font-size: 10px !important; padding: 8px 6px !important; }
  .approved-emblem { width: 56px !important; height: 60px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .approved-header:after { animation: none; }
}
