/* ============================================================
   AFFINITY CORE – Profile View (updated with blue theme)
   ============================================================ */

.affinity-profile-wrapper {
    min-height: 100vh;
    padding: 60px 20px;
    background: transparent;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
    box-sizing: border-box;
    position: relative;
}

/* Gradient background - ALBASTRU ÎNCHIS */
.affinity-profile-wrapper::before {
    content: "";
    position: absolute;
    inset: 0;
   
    opacity: 0.9;
    z-index: 0;
    pointer-events: none;
}

/* Main profile card */
.affinity-profile-card {
    max-width: 1100px;
    width: 100%;
    background: rgba(10, 6, 18, 0.9);
    border-radius: 26px;
    box-shadow:
        0 30px 80px rgba(0, 0, 0, 0.7),
        0 0 0 1px rgba(255, 255, 255, 0.04);
    padding: 40px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
    gap: 40px;
    position: relative;
    overflow: hidden;
    margin-bottom: 30px;
    z-index: 1;
}

/* Gradient overlay inside card - ALBASTRU */
.affinity-profile-card::before {
    content: "";
    position: absolute;
    inset: -120px;
    background:
        radial-gradient(circle at 0% 0%, rgba(10, 60, 130, 0.25) 0, transparent 45%),
        radial-gradient(circle at 100% 100%, rgba(30, 90, 180, 0.15) 0, transparent 50%);
    opacity: 0.9;
    z-index: 0;
    pointer-events: none;
}

/* Left and right sections */
.profile-left,
.profile-right {
    position: relative;
    z-index: 1;
}

/* Name styling - ALBASTRU */
.profile-name {
    margin: 0 0 16px 0;
    font-size: 34px;
    font-weight: 700;
    color: #f9f4ff;
    line-height: 1.15;
}

.profile-name span {
    background: linear-gradient(135deg, #2d78ff, #6eb1ff);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.age {
    font-size: 20px;
    color: rgba(255, 255, 255, 0.7);
    font-weight: 400;
}

/* Info text styling */
.profile-info {
    list-style: none;
    padding: 0;
    margin: 0 0 28px 0;
    color: #e7ddff;
    opacity: 0.9;
}

.profile-info li {
    margin-bottom: 10px;
    font-size: 15px;
    line-height: 1.6;
    display: flex;
    align-items: center;
    gap: 10px;
}

.profile-info li::before {
    content: "•";
    color: #2d78ff;
    font-size: 16px;
}

.profile-info strong {
    color: #f9f4ff;
    font-weight: 600;
    min-width: 100px;
}

/* Slider styling */
.slider-container {
    position: relative;
    width: 260px;
    height: 260px;
    overflow: hidden;
    margin: 0 auto 10px;
    border-radius: 12px;
}
.slider-track {
    display: flex;
    transition: transform 0.4s ease-in-out;
}
.slide {
    min-width: 260px;
}
.profile-img {
    width: 260px;
    height: 260px;
    object-fit: cover;
    border-radius: 12px;
}
.slider-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0,0,0,0.5);
    border: none;
    border-radius: 50%;
    width: 36px;
    height: 36px;
    cursor: pointer;
    padding: 0;
}
.slider-btn.prev { left: 6px; }
.slider-btn.next { right: 6px; }
.slider-dots {
    display: flex;
    justify-content: center;
    gap: 6px;
    margin-top: 8px;
}
.slider-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #6eb1ff;
    cursor: pointer;
    transition: transform 0.2s;
}
.slider-dot.active {
    background: #2d78ff;
    transform: scale(1.2);
}

/* UPGRADE BLOCKS */
.upgrade-block {
    background: rgba(10, 20, 40, 0.85);
    border-radius: 16px;
    padding: 24px 30px;
    margin: 20px 0 30px;
    border-left: 4px solid #2d78ff;
    box-shadow: 0 15px 40px rgba(0, 10, 30, 0.5);
    max-width: 1100px;
    width: 100%;
    text-align: center;
}

.upgrade-block p {
    color: #e0edff;
    font-size: 17px;
    margin-bottom: 20px;
    line-height: 1.5;
}

.upgrade-btn {
    background: linear-gradient(135deg, #2d78ff, #1a56db);
    color: white;
    border: none;
    border-radius: 50px;
    padding: 16px 32px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 6px 20px rgba(42, 120, 255, 0.4);
}

.upgrade-btn:hover {
    background: linear-gradient(135deg, #1a56db, #2d78ff);
    box-shadow: 0 8px 25px rgba(42, 120, 255, 0.6);
    transform: translateY(-2px);
}

/* LEVELS SECTION */
.affinity-levels {
    max-width: 1100px;
    width: 100%;
    position: relative;
    z-index: 1;
}

/* Level block styling - ALBASTRU */
.level-block {
    background: rgba(10, 6, 18, 0.9);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 18px;
    padding: 24px;
    margin-bottom: 20px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
    position: relative;
    overflow: hidden;
}

.level-block::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 0% 0%, rgba(10, 60, 130, 0.15) 0, transparent 50%),
        radial-gradient(circle at 100% 100%, rgba(30, 90, 180, 0.1) 0, transparent 50%);
    opacity: 0.6;
    pointer-events: none;
}

/* ============================================================
   SIMPLIFICARE NIVEL 5 - TEST AVANSAT PERSONALITATE
   Eliminăm complet casetele imbricate și parantezele
   ============================================================ */

/* Dezactivează complet toate fundalurile și borderurile imbricate */
.level-block div,
.level-block table,
.level-block tr,
.level-block td,
.level-block th,
.level-block ul,
.level-block li,
.level-block .box,
.level-block .sub-box,
.level-block .recommendations-box,
.level-block .acmpn5-box,
.level-block .acmpn5-subbox,
.level-block .recommendations-specific,
.level-block .acmpn5-recommendations {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

/* Tabel simplificat - fără stiluri complexe */
.level-block .acmpn5-simplified {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 20px 0 !important;
    background: transparent !important;
}

.level-block .acmpn5-header {
    font-weight: 600 !important;
    color: #8da2ff !important;
    padding: 12px 15px !important;
    text-align: left !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    background: transparent !important;
}

.level-block .acmpn5-cell {
    padding: 12px 15px !important;
    color: #e0e0ff !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
    background: transparent !important;
    vertical-align: top !important;
}

.level-block .acmpn5-row:hover {
    background: rgba(30, 60, 120, 0.1) !important;
}

/* Container pentru statistici - afișare simplă */
.level-block .stats-container,
.level-block .emoji-stats,
.level-block .categories-container {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin: 25px 0;
    padding: 0;
}

.level-block .stat-item {
    flex: 1;
    min-width: 150px;
    padding: 15px;
    text-align: center;
    background: rgba(20, 40, 80, 0.2) !important;
    border: 1px solid rgba(100, 150, 255, 0.15) !important;
    border-radius: 10px;
}

.level-block .stat-emoji {
    font-size: 24px;
    margin-bottom: 8px;
    display: block;
}

.level-block .stat-label {
    color: #c0d0ff;
    font-size: 14px;
    margin-bottom: 5px;
    display: block;
}

.level-block .stat-number {
    color: #f9f4ff;
    font-size: 28px;
    font-weight: 700;
    display: block;
}

/* Listă simplificată pentru recomandări */
.level-block .recommendations-list,
.level-block .recommendations-specific ul {
    list-style: none;
    padding: 0;
    margin: 15px 0;
}

.level-block .recommendations-list li,
.level-block .recommendations-specific li {
    padding: 12px 15px;
    margin: 8px 0;
    background: rgba(20, 40, 80, 0.15) !important;
    border-left: 3px solid #2d78ff !important;
    border-radius: 0 8px 8px 0;
    color: #e0e0ff;
    line-height: 1.5;
}

/* Titluri și subtitluri */
.level-block .section-title {
    color: #8da2ff;
    font-size: 18px;
    margin: 25px 0 15px 0;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    font-weight: 600;
}

.level-block .subsection-title {
    color: #a0b0ff;
    font-size: 16px;
    margin: 20px 0 12px 0;
    font-weight: 600;
}

/* Indicatorii cu emoji (🔴, 🟡, 🟢) - stil simplu */
.level-block .emoji-indicator {
    display: inline-flex;
    align-items: center;
    margin: 5px 10px 5px 0;
    padding: 8px 12px;
    background: rgba(20, 40, 80, 0.2);
    border-radius: 6px;
}

.level-block .emoji-indicator .emoji {
    font-size: 18px;
    margin-right: 8px;
}

.level-block .emoji-indicator .label {
    color: #c0d0ff;
    margin-right: 5px;
    font-size: 14px;
}

.level-block .emoji-indicator .number {
    color: #f9f4ff;
    font-weight: 600;
    font-size: 16px;
}

/* Profil sintetic - stil simplificat */
.level-block .synthetic-profile {
    margin: 20px 0;
    padding: 20px;
    background: rgba(20, 40, 80, 0.15) !important;
    border-radius: 10px;
}

.level-block .synthetic-item {
    display: flex;
    align-items: center;
    margin: 10px 0;
    padding: 12px 15px;
    background: rgba(30, 60, 120, 0.2);
    border-radius: 8px;
}

.level-block .synthetic-emoji {
    font-size: 20px;
    margin-right: 12px;
    min-width: 30px;
}

.level-block .synthetic-text {
    color: #e0e0ff;
    flex-grow: 1;
    font-size: 15px;
}

.level-block .synthetic-count {
    color: #f9f4ff;
    font-weight: 600;
    background: rgba(10, 60, 130, 0.5);
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 14px;
}

/* AI Analysis Sections */
.ai-analysis-section {
    margin-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 20px;
}

.ai-toggle-btn {
    background: rgba(20, 40, 80, 0.7);
    color: #e0edff;
    border: 1px solid rgba(100, 150, 255, 0.3);
    border-radius: 10px;
    padding: 14px 20px;
    width: 100%;
    font-size: 16px;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 10px;
}

.ai-toggle-btn:hover, .ai-toggle-btn.active {
    background: rgba(30, 60, 120, 0.8);
    border-color: #2d78ff;
}

.ai-toggle-btn::before {
    content: "▶";
    font-size: 12px;
    transition: transform 0.3s;
}

.ai-toggle-btn.active::before {
    transform: rotate(90deg);
}

.ai-analysis-content {
    background: rgba(15, 25, 45, 0.7);
    border-radius: 10px;
    padding: 20px;
    margin-top: 10px;
    border-left: 3px solid #2d78ff;
}

.acmpmp2-value-line,
.acmpmp2-love-line {
    display: flex;
    justify-content: space-between;
    width: 100%;
    gap: 8px;
}

/* ============================================================
   STIL ERORI & ÎNREGISTRARE (Centrat pe pagină)
   ============================================================ */
.error-register-container {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    text-align: center;
    background: transparent;
    font-family: "Montserrat", system-ui, -apple-system, sans-serif;
    position: relative;
    z-index: 1;
}

/* Fundal gradient - ALBASTRU ÎNCHIS */
.error-register-container::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0.9;
    z-index: -1;
    pointer-events: none;
}

/* Mesaj de eroare */
.error-message {
    background: rgba(10, 20, 40, 0.85);
    border-radius: 20px;
    padding: 40px 50px;
    margin-bottom: 35px;
    box-shadow: 
        0 25px 60px rgba(0, 10, 30, 0.6),
        0 0 0 1px rgba(100, 150, 255, 0.1);
    border-left: 5px solid #2d78ff;
    max-width: 600px;
    width: 100%;
}

.error-message p {
    color: #f0f5ff;
    font-size: 22px;
    font-weight: 500;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.error-message p::before {
    content: "⚠️";
    font-size: 24px;
}

/* Container formular înregistrare */
.register-form-container {
    background: rgba(10, 20, 40, 0.85);
    border-radius: 20px;
    padding: 35px 40px;
    box-shadow: 
        0 25px 60px rgba(0, 10, 30, 0.6),
        0 0 0 1px rgba(100, 150, 255, 0.1);
    max-width: 600px;
    width: 100%;
}

.register-form-container h3 {
    color: #e0edff;
    font-size: 20px;
    margin: 0 0 20px 0;
    font-weight: 600;
    text-align: center;
}

/* ============================================================
   POPUP PREMIUM - ALBASTRU
   ============================================================ */
.premium-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 5, 15, 0.85);
    backdrop-filter: blur(8px);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

.premium-modal-overlay.visible {
    display: flex;
}

.premium-modal {
    background: linear-gradient(145deg, rgba(10, 25, 50, 0.95), rgba(20, 40, 80, 0.95));
    border-radius: 24px;
    padding: 40px;
    max-width: 500px;
    width: 90%;
    border: 1px solid rgba(100, 150, 255, 0.15);
    box-shadow: 0 30px 80px rgba(0, 20, 60, 0.6);
}

.premium-modal h2 {
    color: #f0f5ff;
    margin-bottom: 20px;
    font-size: 26px;
}

.premium-modal p {
    color: #d0e0ff;
    line-height: 1.6;
    margin-bottom: 30px;
    font-size: 16px;
}

.premium-actions {
    display: flex;
    gap: 15px;
    justify-content: flex-end;
}

.premium-cancel,
.premium-pay {
    padding: 14px 28px;
    border-radius: 50px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.premium-cancel {
    background: rgba(255, 255, 255, 0.1);
    color: #c0d0ff;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.premium-cancel:hover {
    background: rgba(255, 255, 255, 0.15);
}

.premium-pay {
    background: linear-gradient(135deg, #2d78ff, #1a56db);
    color: white;
    border: none;
    box-shadow: 0 6px 20px rgba(42, 120, 255, 0.4);
}

.premium-pay:hover {
    background: linear-gradient(135deg, #1a56db, #2d78ff);
    box-shadow: 0 8px 25px rgba(42, 120, 255, 0.6);
}

/* ============================================================
   FIX INIMI – AFISARE CORECTA PE MOBIL
   ============================================================ */
.acmp-hearts {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center;
    gap: 6px;
}

.acmp-hearts span {
    display: inline-flex !important;
    font-size: 18px;
    line-height: 1;
    min-width: unset;
}

/* ============================================================
   RESPONSIVE DESIGN - OPTIMIZAT PENTRU TELEFOANE
   ============================================================ */
@media (max-width: 900px) {
    .affinity-profile-card {
        grid-template-columns: 1fr;
        gap: 30px;
        padding: 30px 20px;
    }
    
    .profile-left {
        order: -1;
    }
    
    .slider-container {
        height: 220px;
    }
    
    .profile-name {
        font-size: 28px;
    }
    
    .profile-info li {
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
    }
    
    .profile-info strong {
        min-width: auto;
    }
}

@media (max-width: 768px) {
    .error-register-container {
        padding: 25px 15px;
        min-height: 90vh;
    }
    
    .error-message {
        padding: 30px 25px;
        margin-bottom: 25px;
    }
    
    .error-message p {
        font-size: 18px;
        flex-direction: column;
        gap: 8px;
    }
    
    .register-form-container {
        padding: 25px 20px;
    }
    
    .register-form-container h3 {
        font-size: 18px;
    }
    
    /* Optimizări pentru card profil pe mobil */
    .affinity-profile-card {
        padding: 25px 20px;
        border-radius: 20px;
        grid-template-columns: 1fr;
        gap: 25px;
    }
    
    .profile-name {
        font-size: 26px;
        text-align: center;
    }
    
    .slider-container {
        width: 220px;
        height: 220px;
        margin: 0 auto 15px;
    }
    
    .slide, .profile-img {
        width: 220px;
        height: 220px;
    }
    
    .profile-info {
        font-size: 14px;
    }
    
    /* Nivele pe mobil */
    .level-block {
        padding: 20px;
        border-radius: 16px;
    }
    
    .ai-toggle-btn {
        width: 100%;
        padding: 14px;
        font-size: 15px;
    }

    .acmpmp2-value-line,
    .acmpmp2-love-line {
        flex-direction: column;
        gap: 4px;
    }
    
    /* Simplificare nivel 5 pe mobil */
    .level-block .stats-container,
    .level-block .categories-container {
        flex-direction: column;
    }
    
    .level-block .stat-item {
        min-width: 100%;
    }
    
    .level-block .acmpn5-simplified {
        display: block;
        overflow-x: auto;
    }
    
    .level-block .acmpn5-header,
    .level-block .acmpn5-cell {
        padding: 10px !important;
        font-size: 14px;
    }
    
    /* Popup pe mobil */
    .premium-actions {
        flex-direction: column;
    }
    
    .premium-cancel,
    .premium-pay {
        width: 100%;
        text-align: center;
    }
}

@media (max-width: 480px) {
    .affinity-profile-wrapper {
        padding: 20px 15px;
    }
    
    .error-message p {
        font-size: 16px;
    }
    
    .profile-name {
        font-size: 22px;
    }
    
    .slider-container {
        width: 200px;
        height: 200px;
    }
    
    .slide, .profile-img {
        width: 200px;
        height: 200px;
    }
    
    .slider-btn {
        width: 32px;
        height: 32px;
    }
    
    .upgrade-btn {
        padding: 14px 20px;
        font-size: 15px;
        width: 100%;
    }
    
    .affinity-profile-card {
        padding: 25px 15px;
    }
    
    .level-block {
        padding: 20px 15px;
    }
    
    .premium-modal {
        padding: 25px 20px;
        width: 95%;
    }
    
    .premium-modal h2 {
        font-size: 22px;
    }
    
    /* Tabel nivel 5 pe telefoane mici */
    .level-block .acmpn5-simplified {
        display: block;
    }
    
    .level-block .acmpn5-header,
    .level-block .acmpn5-cell {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }
    
    .level-block .acmpn5-row {
        display: block;
        margin-bottom: 15px;
        border-bottom: 2px solid rgba(255, 255, 255, 0.1);
        padding-bottom: 15px;
    }
    
    .level-block .acmpn5-header {
        background: rgba(20, 40, 80, 0.4);
        border-radius: 8px 8px 0 0;
        margin-bottom: 8px;
    }
    
    .level-block .acmpn5-cell {
        border-bottom: none;
        padding: 8px 10px;
    }
}