/* InstaTree Templates - Additional Styles */

/* Base Template */
.instatree-template-base {
    --template-bg: #ffffff;
    --template-text: #1d2327;
    --template-accent: var(--theme-color, #0066cc);
}

/* Clean Template */
.instatree-template-clean {
    --template-bg: #fafafa;
    --template-text: #2c2c2c;
    --template-accent: #000000;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    letter-spacing: -0.01em;
}

.instatree-template-clean .instatree-link {
    border-radius: 4px;
    border: 1px solid #e0e0e0;
}

/* Vibrant Template */
.instatree-template-vibrant {
    --template-bg: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    --template-text: #ffffff;
    --template-accent: #ffd700;
}

.instatree-template-vibrant .instatree-header {
    background: var(--template-bg);
    padding: 60px 20px;
    margin: -40px -20px 40px;
}

.instatree-template-vibrant .instatree-link {
    background: #ffffff;
    color: #1d2327;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}

.instatree-template-vibrant .instatree-link:hover {
    box-shadow: 0 8px 16px rgba(0,0,0,0.2);
}

/* Animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.instatree-link {
    animation: fadeInUp 0.5s ease-out;
    animation-fill-mode: both;
}

.instatree-link:nth-child(1) { animation-delay: 0.1s; }
.instatree-link:nth-child(2) { animation-delay: 0.2s; }
.instatree-link:nth-child(3) { animation-delay: 0.3s; }
.instatree-link:nth-child(4) { animation-delay: 0.4s; }
.instatree-link:nth-child(5) { animation-delay: 0.5s; }
.instatree-link:nth-child(n+6) { animation-delay: 0.6s; }

/* Loading State */
.instatree-loading {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 300px;
}

.instatree-loading::after {
    content: "";
    width: 40px;
    height: 40px;
    border: 4px solid #f3f3f3;
    border-top: 4px solid var(--instatree-primary);
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
