/* Freelance tasks styles: grid and 3D flip cards */
.ft-hero { background: transparent; }
.ft-title { font-size: 2rem; margin: 0; }
.ft-sub { color: #6c757d; }
.ft-filter-form select { min-width: 140px; }

.ft-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .9rem; }
@media (max-width: 992px) { .ft-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 576px) { .ft-grid { grid-template-columns: 1fr; } }

.ft-card { perspective: 800px; }
.ft-card-inner { position: relative; width: 100%; height: 100%; transform-style: preserve-3d; transition: transform 0.35s ease; }
.ft-card:hover .ft-card-inner { transform: translateY(-6px) rotateY(6deg) scale(1.02); box-shadow: 0 8px 18px rgba(0,0,0,.08); }

.ft-card-front, .ft-card-back { backface-visibility: hidden; border-radius: 8px; overflow: hidden; background: #fff; border: 1px solid rgba(0,0,0,.06); display: flex; flex-direction: column; height: 100%; }
.ft-card-front { padding: .85rem; }
.ft-card-back { position: absolute; top: 0; left: 0; right: 0; bottom: 0; transform: rotateY(180deg); padding: .85rem; }

.ft-task-title { font-size: 1.05rem; margin-bottom: .25rem; }
.ft-desc { color: #495057; font-size: .9rem; }
.ft-skills .ft-skill { margin-right: .25rem; margin-bottom: .25rem; }
.ft-type-badge { font-size: .75rem; padding: .25rem .5rem; }

.ft-card-footer { padding: .6rem 1rem 1rem; margin-top: auto; }
.ft-actions .btn { margin-right: .35rem; }

/* Modal backdrop blur */
.modal-backdrop.show { backdrop-filter: blur(6px); }

/* Bid modal refinements */
#ftBidModal .modal-content { border-radius: 12px; }
#ftBidModal .modal-title { font-weight: 600; font-size: 1.05rem; }
#ftBidModal #ft-task-meta { display: block; margin-top: 3px; color: #6c757d; font-size: .85rem; }
#ftBidModal .input-group-text { background: #f8f9fa; border-right: 0; }
#ftBidModal .form-control-sm { border-radius: 6px; }
#ftBidModal .form-select-sm { border-radius: 6px; }
#ftBidModal .modal-body { background: #ffffff; }
#ftBidModal .modal-footer { background: transparent; }
#ftBidModal .btn-primary { min-width: 110px; }
#ftBidModal #ft-cv-filename { color: #6c757d; }
#ftBidModal .form-text { margin-top: .15rem; }

/* Bootstrap toggle switches in modal */
#ftBidModal .form-switch .form-check-input { cursor: pointer; }
#ftBidModal .form-switch .form-check-label { cursor: pointer; margin-left: .5rem; }

/* Skills inline layout in modal */
#ft-skills-wrap { display: flex; flex-wrap: wrap; gap: .5rem; }
#ft-skills-wrap .form-switch { margin-bottom: 0; }

