:root {
    --fb-blue: #1877f2;
    --fb-dark: #0f172a;
    --meta-gradient: linear-gradient(to right, #0064e0, #6d28d9, #ec4899);
}

/* 1. Hero: Neural Network */
.fb-hero {
    background-color: var(--fb-dark);
    position: relative;
    overflow: hidden;
    height: 85vh;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
}
.network-canvas {
    position: absolute; inset: 0;
    background-image: radial-gradient(circle, #334155 1px, transparent 1px);
    background-size: 40px 40px;
    opacity: 0.2;
}
.avatar-node {
    position: absolute; width: 50px; height: 50px;
    background: white; border-radius: 50%;
    padding: 2px; box-shadow: 0 0 20px rgba(24, 119, 242, 0.5);
    animation: float-node 6s ease-in-out infinite;
}
.avatar-node img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.node-1 { top: 20%; left: 15%; animation-delay: 0s; }
.node-2 { top: 60%; left: 10%; animation-delay: 1s; }
.node-3 { top: 15%; right: 20%; animation-delay: 2s; }
.node-4 { top: 70%; right: 15%; animation-delay: 3s; }
.connection-line {
    position: absolute; top: 50%; left: 50%; width: 300px; height: 2px;
    background: linear-gradient(90deg, transparent, var(--fb-blue), transparent);
    transform-origin: left center;
    animation: pulse-line 3s infinite;
}
@keyframes float-node { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-20px); } }
@keyframes pulse-line { 0% { opacity: 0; width: 0; } 50% { opacity: 1; width: 300px; } 100% { opacity: 0; width: 300px; } }

/* 2. Algoritma Görüşü */
.algo-card {
    background: white; border-radius: 20px;
    box-shadow: 0 20px 50px rgba(0,0,0,0.1);
    padding: 40px; position: relative; overflow: hidden;
    border: 1px solid #e2e8f0;
}
.user-profile { display: flex; align-items: center; gap: 20px; margin-bottom: 30px; }
.profile-pic { width: 80px; height: 80px; background: #ddd; border-radius: 50%; }
.interest-tags { display: flex; flex-wrap: wrap; gap: 10px; }
.tag-bubble {
    background: #eff6ff; color: var(--fb-blue);
    padding: 8px 15px; border-radius: 20px; font-size: 0.85rem; font-weight: bold;
    opacity: 0; transform: scale(0.5);
    animation: pop-in 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}
@keyframes pop-in { to { opacity: 1; transform: scale(1); } }

/* 3. Retargeting Loop */
.loop-wrapper {
    position: relative; width: 100%; height: 300px;
    display: flex; align-items: center; justify-content: center;
}
.loop-circle {
    width: 250px; height: 250px; border: 4px dashed #cbd5e1; border-radius: 50%;
    position: relative; animation: spin-slow 20s linear infinite;
}
.loop-item {
    position: absolute; width: 60px; height: 60px;
    background: white; border-radius: 50%;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    display: flex; align-items: center; justify-content: center;
    font-size: 1.5rem; color: var(--fb-dark);
}
.item-site { top: -30px; left: 50%; transform: translateX(-50%); }
.item-exit { top: 50%; right: -30px; transform: translateY(-50%); color: #ef4444; }
.item-ad { bottom: -30px; left: 50%; transform: translateX(-50%); color: var(--fb-blue); }
.item-return { top: 50%; left: -30px; transform: translateY(-50%); color: #10b981; }
@keyframes spin-slow { 100% { transform: rotate(360deg); } }

/* 4. Reklam Modelleri (GRID YAPISI - Yan Yana) */
.format-card {
    background: white; border-radius: 16px; overflow: hidden;
    border: 1px solid #e2e8f0;
    transition: transform 0.3s;
    height: 100%; /* Eşit yükseklik */
    display: flex; flex-direction: column;
}
.format-card:hover { transform: translateY(-8px); box-shadow: 0 20px 40px rgba(0,0,0,0.08); }
.format-img { 
    height: 200px; background: #f8fafc; position: relative; 
    flex-shrink: 0;
}
.format-content { 
    padding: 20px; 
    flex-grow: 1; /* İçeriği yay */
    display: flex; flex-direction: column;
}
.format-cta {
    display: block; width: 100%; padding: 12px; margin-top: auto; /* En alta it */
    background: #f1f5f9; color: #334155; font-weight: 700; font-size: 0.9rem;
    text-align: center; border-radius: 8px; transition: all 0.2s;
}
.format-cta:hover { background: var(--fb-blue); color: white; }
@media (max-width: 1024px) {
    .fb-hero {
        height: auto;
        padding: 120px 0 40px 0;
    }
}