/**
 * 🎁 Emocard - STANDARDISATION COMPLÈTE
 * CSS Master pour une carte parfaitement standardisée et solide
 * Priorité absolue sur tous les autres styles
 */

/* 🧹 RESET COMPLET - Suppression de tous les ornements ajoutés */
.gift-card::before,
.gift-card::after,
.gift-card *::before,
.gift-card *::after,
.card-face::before,
.card-face::after,
.card-container::before,
.card-container::after,
.gift-card-container::before,
.gift-card-container::after {
    display: none !important;
    content: none !important;
}

/* 📐 DIMENSIONS STANDARDISÉES - Solides sur toutes tailles */
.card-container {
    perspective: 1500px !important;
    perspective-origin: center center !important;
    width: 380px !important;
    height: 480px !important;
    max-width: 100% !important;
    margin: 2rem auto !important;
    transform-style: preserve-3d !important;
    position: relative !important;
    overflow: visible !important;
    z-index: 1 !important;
}

.gift-card {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    transform-style: preserve-3d !important;
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    cursor: pointer !important;
    border-radius: 20px !important;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1), 0 8px 16px rgba(0, 0, 0, 0.08) !important;
    will-change: transform !important;
    transform-origin: center center !important;
}

.gift-card.flipped {
    transform: rotateY(180deg) !important;
}

.gift-card:hover {
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15), 0 10px 20px rgba(0, 0, 0, 0.1) !important;
}

/* 🎨 FACES DE CARTE - Design standardisé */
.card-face {
    position: absolute !important;
    width: 100% !important;
    height: 100% !important;
    backface-visibility: hidden !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    padding: 24px !important;
    box-sizing: border-box !important;
}

.card-front {
    background: linear-gradient(135deg, #f9f7f5 0%, #ffffff 100%) !important;
    border: 2px solid rgba(170, 123, 76, 0.1) !important;
}

.card-back {
    background: linear-gradient(135deg, #ffffff 0%, #f9f7f5 100%) !important;
    border: 2px solid rgba(170, 123, 76, 0.1) !important;
    transform: rotateY(180deg) !important;
}

/* 📝 TEXTES LISIBLES - Contraste parfait, marges optimales */
.gift-card .card-title {
    color: #1D1D1F !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    text-align: center !important;
    margin: 0 0 16px 0 !important;
    line-height: 1.3 !important;
    text-shadow: none !important;
}

.gift-card .card-subtitle {
    color: #424245 !important;
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    text-align: center !important;
    margin: 0 0 20px 0 !important;
    line-height: 1.4 !important;
    text-shadow: none !important;
}

.gift-card .card-recipient,
.gift-card .card-from {
    color: #1D1D1F !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    margin: 8px 0 !important;
    line-height: 1.4 !important;
    text-shadow: none !important;
    background: rgba(255, 255, 255, 0.8) !important;
    padding: 8px 12px !important;
    border-radius: 12px !important;
    border: 1px solid rgba(170, 123, 76, 0.2) !important;
}

.gift-card .card-message {
    color: #424245 !important;
    font-size: 0.95rem !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    margin: 16px 0 !important;
    text-shadow: none !important;
    background: rgba(255, 255, 255, 0.7) !important;
    padding: 12px 16px !important;
    border-radius: 12px !important;
    border: 1px solid rgba(170, 123, 76, 0.15) !important;
}

.gift-card .card-formula,
.gift-card .formula-badge {
    color: #ffffff !important;
    background: linear-gradient(135deg, #AA7B4C 0%, #D4A574 100%) !important;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    padding: 8px 16px !important;
    border-radius: 20px !important;
    text-align: center !important;
    margin: 12px auto !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) !important;
    border: none !important;
    box-shadow: 0 4px 12px rgba(170, 123, 76, 0.3) !important;
}

/* 📞 CONTACT ET INFOS */
.gift-card .card-contact {
    color: #6D6D70 !important;
    font-size: 0.8rem !important;
    font-weight: 500 !important;
    text-align: center !important;
    margin: 16px 0 0 0 !important;
    line-height: 1.3 !important;
    text-shadow: none !important;
}

/* 🔘 BOUTON SIMPLE - Style rond standard SANS animation bizarre */
.flip-card-btn {
    background: linear-gradient(135deg, #AA7B4C 0%, #D4A574 100%) !important;
    color: white !important;
    border: none !important;
    border-radius: 50px !important;
    padding: 12px 24px !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 16px rgba(170, 123, 76, 0.3) !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) !important;
    margin: 16px auto !important;
    display: block !important;
    outline: none !important;
}

.flip-card-btn:hover {
    background: linear-gradient(135deg, #D4A574 0%, #AA7B4C 100%) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(170, 123, 76, 0.4) !important;
}

.flip-card-btn:active {
    transform: translateY(0) !important;
    box-shadow: 0 4px 12px rgba(170, 123, 76, 0.4) !important;
}

/* 🚫 SUPPRESSION ABSOLUE des ornements dégueulasses */
.card-validity,
.card-expiry,
.card-terms,
.validity-text,
.expiry-date,
.validity-info,
.card-bottom-text,
.remaining-time,
.countdown-timer,
.timer-display {
    display: none !important;
}

/* 📱 RESPONSIVE PARFAIT - Mobile → Desktop */
@media (max-width: 768px) {
    .card-container {
        width: 90vw !important;
        max-width: 350px !important;
        height: auto !important;
        aspect-ratio: 0.79 !important;
        margin: 1.5rem auto !important;
    }
    
    .gift-card {
        border-radius: 16px !important;
    }
    
    .card-face {
        padding: 20px !important;
        border-radius: 16px !important;
    }
    
    .gift-card .card-title {
        font-size: 1.3rem !important;
        margin-bottom: 12px !important;
    }
    
    .gift-card .card-subtitle {
        font-size: 0.85rem !important;
        margin-bottom: 16px !important;
    }
    
    .gift-card .card-recipient,
    .gift-card .card-from {
        font-size: 0.9rem !important;
        padding: 6px 10px !important;
        margin: 6px 0 !important;
    }
    
    .gift-card .card-message {
        font-size: 0.9rem !important;
        padding: 10px 12px !important;
        margin: 12px 0 !important;
    }
    
    .flip-card-btn {
        padding: 10px 20px !important;
        font-size: 0.85rem !important;
        margin: 12px auto !important;
    }
}

@media (max-width: 480px) {
    .card-container {
        width: 95vw !important;
        max-width: 320px !important;
        margin: 1rem auto !important;
    }
    
    .card-face {
        padding: 16px !important;
    }
    
    .gift-card .card-title {
        font-size: 1.2rem !important;
    }
    
    .gift-card .card-subtitle {
        font-size: 0.8rem !important;
    }
    
    .gift-card .card-recipient,
    .gift-card .card-from,
    .gift-card .card-message {
        font-size: 0.85rem !important;
    }
}

/* 🎯 PRIORITÉ ABSOLUE - Force l'application des styles */
.gift-card,
.gift-card * {
    box-sizing: border-box !important;
}

/* 🔒 VERROUILLAGE ANTI-ORNEMENTS */
.gift-card .ornament,
.gift-card .decoration,
.gift-card .extra-element {
    display: none !important;
}
