/* Custom styles for Visions & Goals — Bold & Modern theme */

/* Animations */
.fade-in { animation: fadeIn 0.4s ease-out; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }

/* Hover lift effect for cards */
.hover-lift { transition: transform 0.2s, box-shadow 0.2s; }
.hover-lift:hover { transform: translateY(-2px); box-shadow: 0 8px 25px rgba(0,0,0,0.08); }

/* Form input styling */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="date"],
input[type="url"],
select,
textarea {
    width: 100%;
    padding: 0.625rem 0.875rem;
    border-radius: 0.375rem;
    border: 1px solid #e5e7eb;
    font-size: 0.875rem;
    font-family: 'Plus Jakarta Sans', sans-serif;
    transition: border-color 0.15s, box-shadow 0.15s;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="date"]:focus,
input[type="url"]:focus,
select:focus,
textarea:focus {
    outline: none;
    border-color: #4f46e5;
    box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.15);
}

/* Checkbox styling */
input[type="checkbox"] {
    width: auto;
    accent-color: #4f46e5;
}

/* Vision Board Mosaic Grid */
.mosaic-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: 180px;
    grid-auto-flow: dense;
    gap: 3px;
}
.mosaic-sm { grid-column: span 1; grid-row: span 1; }
.mosaic-md { grid-column: span 2; grid-row: span 1; }
.mosaic-lg { grid-column: span 2; grid-row: span 2; }

@media (max-width: 768px) {
    .mosaic-grid {
        grid-template-columns: repeat(2, 1fr);
        grid-auto-rows: 140px;
    }
}

/* Print styles */
@media print {
    .no-print { display: none !important; }
    body { margin: 0; padding: 0; }
    .mosaic-grid { gap: 2px; }
}
