.ft-form-wrap{max-width:860px;margin:0 auto;font-family:"Segoe UI",Arial,sans-serif;}
.ft-steps-bar{display:flex;justify-content:space-between;margin-bottom:36px;position:relative;}
.ft-steps-bar::before{content:"";position:absolute;top:20px;left:0;right:0;height:2px;background:#e5e5e5;z-index:0;}
.ft-step-item{display:flex;flex-direction:column;align-items:center;gap:8px;z-index:1;}
.ft-step-num{width:40px;height:40px;border-radius:50%;background:#e5e5e5;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;color:#999;transition:all .3s;}
.ft-step-label{font-size:11px;font-weight:700;color:#999;text-transform:uppercase;letter-spacing:.05em;text-align:center;}
.ft-step-item.active .ft-step-num{background:#FF6B00;color:#fff;box-shadow:0 0 0 4px rgba(255,107,0,.2);}
.ft-step-item.active .ft-step-label{color:#FF6B00;}
.ft-step-item.done .ft-step-num{background:#FF6B00;color:#fff;}
.ft-step-item.done .ft-step-label{color:#FF6B00;}
.ft-step-panel{display:none;} .ft-step-panel.active{display:block;}
.ft-step-header{display:flex;align-items:center;gap:16px;margin-bottom:28px;padding-bottom:20px;border-bottom:2px solid #f0f0f0;}
.ft-step-badge{width:48px;height:48px;border-radius:50%;background:#FF6B00;color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;}
.ft-step-title{font-size:22px;font-weight:800;color:#1a1a1a;margin:0;}
.ft-step-sub{font-size:14px;color:#888;margin:4px 0 0;}
.ft-field{margin-bottom:18px;}
.ft-field label{display:block;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#444;margin-bottom:6px;}
.ft-field label .req{color:#FF6B00;}
.ft-field input[type=text],.ft-field input[type=tel],.ft-field input[type=time],.ft-field input[type=url],.ft-field select,.ft-field textarea{width:100%;box-sizing:border-box;padding:12px 14px;border:1.5px solid #d0d9e8;border-radius:8px;font-size:15px;background:#fff;outline:none;transition:border-color .2s;}
.ft-field input:focus,.ft-field select:focus,.ft-field textarea:focus{border-color:#FF6B00;box-shadow:0 0 0 3px rgba(255,107,0,.12);}
.ft-field textarea{min-height:120px;resize:vertical;}
.ft-hint{font-size:12px;color:#888;margin-top:4px;}
.ft-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.ft-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;}

/* Type truck selector */
.ft-type-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin-top:10px;}
.ft-type-card{border:2px solid #e5e5e5;border-radius:12px;padding:20px 14px;text-align:center;cursor:pointer;transition:all .2s;background:#fff;}
.ft-type-card:hover{border-color:#FF6B00;background:#fff8f0;}
.ft-type-card.selected{border-color:#FF6B00;background:#FF6B00;color:#fff;}
.ft-type-card.selected .ft-type-icon{filter:brightness(10);}
.ft-type-card input{display:none;}
.ft-type-icon{font-size:32px;display:block;margin-bottom:8px;}
.ft-type-name{font-size:14px;font-weight:700;}
.ft-type-desc{font-size:11px;opacity:.7;margin-top:4px;}

/* Cat&#233;gories */
.ft-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin-top:8px;}
.ft-cat-item{border:2px solid #e5e5e5;border-radius:10px;padding:12px 8px;text-align:center;cursor:pointer;transition:all .2s;background:#fff;}
.ft-cat-item:hover{border-color:#FF6B00;background:#fff8f0;}
.ft-cat-item.selected{border-color:#FF6B00;background:#fff8f0;}
.ft-cat-item.selected .ft-cat-name{color:#FF6B00;font-weight:800;}
.ft-cat-item input{display:none;}
.ft-cat-icon{font-size:22px;display:block;margin-bottom:4px;}
.ft-cat-name{font-size:11px;font-weight:600;color:#444;}

/* Semainier */
.ft-week-grid{display:flex;flex-direction:column;gap:8px;margin-top:8px;}
.ft-day-row{border:1.5px solid #e5e5e5;border-radius:10px;overflow:hidden;transition:border-color .2s;}
.ft-day-row.active{border-color:#FF6B00;}
.ft-day-header{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;background:#fafafa;}
.ft-day-row.active .ft-day-header{background:#fff8f0;}
.ft-day-check{width:20px;height:20px;accent-color:#FF6B00;flex-shrink:0;}
.ft-day-name{font-weight:700;font-size:14px;color:#333;flex:1;}
.ft-day-body{display:none;padding:14px 16px;background:#fff;border-top:1px solid #f0f0f0;}
.ft-day-row.active .ft-day-body{display:block;}
.ft-time-row{display:grid;grid-template-columns:1fr auto 1fr 1fr;gap:10px;align-items:center;margin-bottom:10px;}
.ft-time-sep{text-align:center;color:#888;font-weight:600;}
.ft-badge-live{display:inline-flex;align-items:center;gap:6px;background:#22c55e;color:#fff;font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;}
.ft-badge-live::before{content:"";width:8px;height:8px;background:#fff;border-radius:50%;animation:ftpulse 1.2s ease-in-out infinite;}
@keyframes ftpulse{0%,100%{opacity:1;}50%{opacity:.3;}}

/* Photos */
.ft-photos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:8px;}
.ft-photo-slot{border:2px dashed #d0d9e8;border-radius:10px;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;background:#fafafa;position:relative;overflow:hidden;}
.ft-photo-slot:hover{border-color:#FF6B00;background:#fff8f0;}
.ft-photo-slot.has-photo{border-style:solid;border-color:#FF6B00;}
.ft-photo-slot .ft-photo-preview{width:100%;height:100%;object-fit:cover;position:absolute;top:0;left:0;}
.ft-photo-slot .ft-photo-remove{position:absolute;top:6px;right:6px;width:24px;height:24px;background:#FF6B00;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;cursor:pointer;z-index:2;border:none;}
.ft-photo-slot .ft-upload-icon{font-size:28px;color:#ccc;margin-bottom:6px;}
.ft-photo-slot .ft-upload-label{font-size:12px;color:#aaa;font-weight:600;}
.ft-photo-slot input[type=file]{display:none;}

/* Nav */
.ft-step-nav{display:flex;justify-content:space-between;align-items:center;margin-top:32px;padding-top:24px;border-top:1px solid #f0f0f0;}
.ft-btn-prev{padding:12px 24px;border:2px solid #e5e5e5;border-radius:8px;background:#fff;color:#666;font-size:14px;font-weight:600;cursor:pointer;}
.ft-btn-prev:hover{border-color:#999;color:#333;}
.ft-btn-next{padding:12px 28px;border:none;border-radius:8px;background:#FF6B00;color:#fff;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 3px 10px rgba(255,107,0,.3);}
.ft-btn-next:hover{background:#CC5500;}
.ft-btn-next:disabled{background:#ccc;box-shadow:none;cursor:not-allowed;}

/* Alert */
.ft-alert{padding:14px 18px;border-radius:8px;font-size:14px;margin-bottom:20px;}
.ft-alert-error{background:#ffebee;border-left:4px solid #f44336;color:#c62828;}
.ft-alert-success{background:#fff8f0;border-left:4px solid #FF6B00;color:#CC5500;}

/* Cards trucks */
.ft-truck-list{display:flex;flex-direction:column;gap:14px;}
.ft-truck-card{background:#fff;border:1px solid #e5e5e5;border-radius:12px;padding:16px;display:flex;gap:14px;align-items:flex-start;}
.ft-truck-card-photo{width:72px;height:72px;border-radius:8px;object-fit:cover;flex-shrink:0;background:#f0f0f0;display:flex;align-items:center;justify-content:center;font-size:24px;}
.ft-truck-card-body{flex:1;}
.ft-truck-card-title{font-size:15px;font-weight:700;color:#1a1a1a;margin:0 0 5px;}
.ft-truck-card-meta{font-size:12px;color:#888;display:flex;gap:12px;flex-wrap:wrap;}
.ft-truck-card-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap;}
.ft-btn-sm{padding:5px 12px;border-radius:6px;font-size:12px;font-weight:700;cursor:pointer;border:none;text-decoration:none;display:inline-block;}
.ft-btn-outline{border:1.5px solid #e5e5e5;background:#fff;color:#555;}
.ft-btn-danger{background:#ffebee;color:#c62828;border:1.5px solid #ffcdd2;}
.ft-statut-publie{background:#f0fff4;color:#16a34a;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:700;}
.ft-statut-attente{background:#fff8e1;color:#b45309;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:700;}
.ft-statut-refuse{background:#ffebee;color:#c62828;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:700;}

/* Recap */
.ft-recap{background:#fff8f0;border:1.5px solid #FFCC99;border-radius:10px;padding:18px;margin-bottom:18px;}
.ft-recap h4{margin:0 0 12px;color:#CC5500;font-size:14px;}
.ft-recap-row{display:flex;justify-content:space-between;font-size:13px;padding:5px 0;border-bottom:1px solid #FFCC99;}
.ft-recap-row:last-child{border:0;}
.ft-recap-label{color:#888;}
.ft-recap-value{font-weight:600;color:#333;text-align:right;max-width:60%;}

/* Success */
.ft-success-box{text-align:center;padding:48px 24px;}
.ft-success-icon{font-size:64px;margin-bottom:16px;}
.ft-success-title{font-size:26px;font-weight:800;color:#1a1a1a;margin:0 0 10px;}

@media(max-width:640px){
    .ft-grid-2,.ft-grid-3,.ft-type-grid{grid-template-columns:1fr;}
    .ft-cats{grid-template-columns:repeat(3,1fr);}
    .ft-time-row{grid-template-columns:1fr 1fr;}
    .ft-time-sep{display:none;}
    .ft-steps-bar .ft-step-label{display:none;}
}