/* Keep itinerary category labels at a normal weight on category listing pages. */
.front-itineraries-category .itinerary-item .itinerary-cat,
.front-itineraries-category .itinerary-item .itinerary-cat a {
    font-weight: 400 !important;
}

/* Match itinerary-page action buttons to the animated home inquiry CTA. */
.animated-search-btn,
.front-itineraries-category .theme-btn {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background: #0077b6 !important;
    border-color: #0077b6 !important;
    color: #fff !important;
    box-shadow: 0 8px 20px rgba(0, 119, 182, .28), 0 3px 8px rgba(0, 0, 0, .08);
    transition: transform .4s, box-shadow .4s, background .4s;
}

.animated-search-btn::after,
.front-itineraries-category .theme-btn::after {
    content: "";
    position: absolute;
    z-index: 1;
    top: -60%;
    left: -120%;
    width: 55%;
    height: 220%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .35), transparent);
    transform: rotate(24deg);
    animation: itineraryButtonShine 3.5s ease-in-out infinite;
    pointer-events: none;
}

.animated-search-btn:hover,
.animated-search-btn:focus,
.front-itineraries-category .theme-btn:hover,
.front-itineraries-category .theme-btn:focus {
    background: #005f92 !important;
    border-color: #005f92 !important;
    color: #fff !important;
    transform: translateY(-3px);
    box-shadow: 0 14px 30px rgba(0, 119, 182, .38), 0 5px 12px rgba(0, 0, 0, .1);
}

@keyframes itineraryButtonShine {
    0% { left: -120%; }
    55%, 100% { left: 140%; }
}
