/* Summer Badge Styles */
.summer-ribbon {
    position: absolute;
    top: -5px;
    right: -5px;
    background: linear-gradient(45deg, #ff6b6b, #feca57);
    color: white;
    padding: 8px 25px 8px 15px;
    font-size: 12px;
    font-weight: bold;
    text-transform: uppercase;
    transform: rotate(10deg);
    box-shadow: 0 4px 15px rgba(255, 107, 107, 0.3);
    z-index: 10;
    opacity: 1 !important;
    visibility: visible !important;
}

.summer-ribbon::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -5px;
    border-left: 5px solid transparent;
    border-right: 5px solid #e63946;
    border-top: 5px solid #e63946;
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
}

/* Make sure parent card allows overflow */
.package-card {
    position: relative;
    overflow: visible !important;
}
.limited-time-badge {
    position: absolute;
    top: 15px;
    left: -10px;
    background: #ff6b6b;
    color: white;
    padding: 6px 20px 6px 15px;
    font-size: 11px;
    font-weight: bold;
    text-transform: uppercase;
    clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 0 100%);
    animation: glow 2s ease-in-out infinite alternate;
}

.summer-icon {
    position: absolute;
    top: 10px;
    left: 15px;
    font-size: 24px;
    animation: float 3s ease-in-out infinite;
}

@keyframes glow {
    from { box-shadow: 0 0 5px rgba(255, 107, 107, 0.5); }
    to { box-shadow: 0 0 20px rgba(255, 107, 107, 0.8); }
}

@keyframes float {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-10px); }
}

.discount-highlight {
    background: linear-gradient(45deg, #feca57, #ff9a56);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-weight: bold;
    font-size: 1.1em;
}