.marine-gift-badge {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    width: fit-content;
    margin: 0 0 10px;
    padding: 8px 12px;
    border: 2px solid #d89609;
    border-radius: 999px;
    background: linear-gradient(115deg, #ffe169, #ffca35) !important;
    box-shadow: 0 3px 10px rgba(43, 33, 94, .2);
    color: #261f66 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: .025em;
    text-transform: uppercase;
}

.marine-gift-badge::before {
    content: "";
    display: inline-block;
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    background: url("./gift.svg") center / contain no-repeat;
}

/* Keep the badge in the normal flow, below the image and above the title. */
.woocommerce ul.products li.product .marine-gift-badge,
.woocommerce-page ul.products li.product .marine-gift-badge {
    position: static !important;
    max-width: 100%;
    margin: 6px 0 10px;
}

.marine-gift-notice {
    display: flex !important;
    align-items: center;
    gap: 10px;
    margin: 12px 0 18px;
    padding: 13px 16px;
    border: 2px solid #d89609;
    border-radius: 8px;
    background: linear-gradient(115deg, #fff4bb, #ffe17a);
    box-shadow: 0 3px 12px rgba(85, 61, 13, .11);
    color: #261f66 !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
}

.marine-gift-notice strong {
    color: inherit !important;
    font-size: inherit !important;
    font-weight: 800 !important;
    line-height: inherit !important;
}

.marine-gift-notice__icon {
    flex: 0 0 auto;
    display: block;
    width: 28px;
    height: 28px;
    transform-origin: 50% 85%;
    animation: marine-gift-wiggle 4.5s ease-in-out infinite;
}

@keyframes marine-gift-wiggle {
    0%, 72%, 100% { transform: rotate(0) scale(1); }
    77% { transform: rotate(-9deg) scale(1.07); }
    82% { transform: rotate(7deg) scale(1.07); }
    87% { transform: rotate(-4deg) scale(1.03); }
    92% { transform: rotate(0) scale(1); }
}

@media (prefers-reduced-motion: reduce) {
    .marine-gift-notice__icon { animation: none !important; }
}

.marine-gift-notice--description {
    margin-top: 0;
}
