.stock-album-page .stock-album-main {
   flex: 1 0 auto;
   width: 100%;
   padding: clamp(22px, 4vw, 58px) 16px;
   background:
      radial-gradient(circle at 12% 18%, rgba(255, 107, 0, .12), transparent 30%),
      radial-gradient(circle at 88% 82%, rgba(29, 153, 255, .14), transparent 34%),
      linear-gradient(135deg, #f8fbff, #eef5fc);
}

.stock-album-page .stock-album-panel {
   width: 100%;
   max-width: 1440px;
   margin: 0 auto;
   padding: clamp(24px, 3vw, 44px);
   background: rgba(255, 255, 255, .95);
   border: 1px solid rgba(7, 32, 62, .08);
   border-radius: 22px;
   box-shadow: 0 24px 60px rgba(7, 32, 62, .12);
}

.stock-album-page .stock-album-eyebrow,
.stock-album-page .stock-album-count {
   margin: 0;
   text-align: center;
}

.stock-album-page .stock-album-eyebrow {
   color: #ff6b00;
   font-weight: 700;
}

.stock-album-page .stock-album-panel h1 {
   margin: 8px 0;
   color: #07203e;
   font-size: clamp(30px, 5vw, 48px);
   font-weight: 800;
   text-align: center;
}

.stock-album-page .stock-album-count {
   color: #627d98;
   font-size: 17px;
}

.stock-album-page .stock-album-grid {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 15px;
   margin-top: 28px;
}

.stock-album-page .stock-album-item {
   margin: 0;
   overflow: hidden;
   background: #fff;
   border: 1px solid #d7e3ec;
   border-radius: 14px;
   box-shadow: 0 7px 20px rgba(7, 32, 62, .08);
}

.stock-album-page .stock-album-item a {
   display: block;
}

.stock-album-page .stock-album-item img {
   display: block;
   width: 100%;
   aspect-ratio: 1 / 1;
   object-fit: contain;
   background: #f7fafc;
   transition: transform .2s ease;
}

.stock-album-page .stock-album-item a:hover img,
.stock-album-page .stock-album-item a:focus img {
   transform: scale(1.025);
}

.stock-album-page .stock-album-empty {
   margin: 28px 0 0;
   padding: 24px;
   color: #627d98;
   text-align: center;
   background: #f5f8fb;
   border-radius: 12px;
}

@media (max-width: 1000px) {
   .stock-album-page .stock-album-grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
   }
}

@media (max-width: 700px) {
   .stock-album-page .stock-album-main {
      padding: 10px 5px;
   }

   .stock-album-page .stock-album-panel {
      padding: 20px 6px;
      border-radius: 14px;
   }

   .stock-album-page .stock-album-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 7px;
      margin-top: 20px;
   }

   .stock-album-page .stock-album-item {
      border-radius: 9px;
   }
}

@media (max-width: 360px) {
   .stock-album-page .stock-album-main {
      padding-inline: 2px;
   }

   .stock-album-page .stock-album-panel {
      padding-inline: 3px;
   }
}

