.breadcrumb{padding:6px 0 2px;font-size:.75rem;color:var(--gray-400)}
.breadcrumb a{color:var(--gray-400);transition:color .2s}
.breadcrumb a:hover{color:var(--red)}
.breadcrumb span{margin:0 6px}
.devis-page{padding:20px 0 60px;max-width:900px;margin:0 auto}
.devis-page-title{font-family:var(--fd);font-size:clamp(1.3rem,2.2vw,1.8rem);font-weight:700;color:var(--navy);margin-bottom:6px}
.devis-page-intro{font-size:.85rem;color:var(--gray-500);margin-bottom:30px;line-height:1.5}
.panier-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.panier-header h2{font-family:var(--fd);font-size:1.1rem;font-weight:700;color:var(--navy);margin:0}
.panier-clear{background:none;border:1px solid var(--gray-300);color:var(--gray-500);font-size:.72rem;padding:5px 12px;border-radius:6px;cursor:pointer;transition:all .2s}
.panier-clear:hover{border-color:var(--red);color:var(--red)}
.panier-table-wrap{overflow-x:auto;margin-bottom:16px}
.panier-table{width:100%;border-collapse:collapse;font-size:.8rem}
.panier-table thead th{background:var(--navy);color:white;padding:10px 14px;text-align:left;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.panier-table thead th:first-child{border-radius:8px 0 0 0}
.panier-table thead th:last-child{border-radius:0 8px 0 0}
.panier-table tbody td{padding:12px 14px;border-bottom:1px solid var(--gray-100);vertical-align:middle}
.panier-table tbody tr:hover{background:var(--gray-50)}
.panier-product strong{color:var(--navy);font-size:.78rem}
.panier-product-name{color:var(--gray-500);font-size:.72rem}
.panier-colors{display:flex;flex-wrap:wrap;gap:6px}
.panier-color{display:flex;align-items:center;gap:4px}
.panier-color img{width:32px;height:32px;object-fit:contain;border-radius:4px;border:1px solid var(--gray-200);padding:2px;background:white}
.panier-color span{font-size:.68rem;color:var(--gray-600)}
.panier-qty{font-weight:700;color:var(--navy);white-space:nowrap}
.panier-price{white-space:nowrap;color:var(--gray-600)}
.panier-total{font-weight:700;color:var(--navy);white-space:nowrap}
.panier-remove{background:none;border:none;color:var(--gray-400);font-size:1.2rem;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s}
.panier-remove:hover{color:var(--red);background:rgba(231,65,77,.08)}
.panier-empty{text-align:center;padding:40px 20px;background:var(--gray-50);border-radius:12px;border:1px solid var(--gray-200)}
.panier-empty p{color:var(--gray-500);font-size:.9rem;margin-bottom:16px}
.btn-back-catalogue{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;background:var(--red);color:white;border-radius:8px;font-size:.82rem;font-weight:700;font-family:var(--fb);text-decoration:none;transition:all .2s}
.btn-back-catalogue:hover{background:var(--red-dark)}
.panier-actions{margin-bottom:40px}
.btn-continue{color:var(--gray-500);font-size:.78rem;text-decoration:none;transition:color .2s}
.btn-continue:hover{color:var(--red)}

/* Form */
.devis-form-section{background:var(--gray-50);border-radius:16px;padding:32px;border:1px solid var(--gray-200)}
.devis-form-section h2{font-family:var(--fd);font-size:1.1rem;font-weight:700;color:var(--navy);margin:0 0 20px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.form-group{display:flex;flex-direction:column;gap:4px}
.form-group.full{margin-bottom:14px}
.form-label{font-size:.75rem;font-weight:600;color:var(--navy)}
.req{color:var(--red)}
.form-input,.form-textarea{padding:10px 14px;border:1px solid var(--gray-200);border-radius:8px;font-size:.82rem;font-family:var(--fb);outline:none;transition:border-color .2s;background:white}
.form-input:focus,.form-textarea:focus{border-color:var(--red)}
.form-textarea{min-height:100px;resize:vertical}
.hp-field{position:absolute;left:-9999px}

/* File drop */
.file-drop-zone{border:2px dashed var(--gray-300);border-radius:12px;padding:28px 20px;text-align:center;cursor:pointer;transition:all .2s;background:white}
.file-drop-zone.dragover{border-color:var(--red);background:rgba(231,65,77,.03)}
.file-drop-icon{margin-bottom:8px}
.file-drop-text{font-size:.85rem;font-weight:600;color:var(--navy);margin-bottom:4px}
.file-drop-or{font-size:.72rem;color:var(--gray-400);margin-bottom:8px}
.file-drop-btn{display:inline-flex;align-items:center;padding:8px 20px;background:var(--navy);color:white;border:none;border-radius:6px;font-size:.78rem;font-weight:600;cursor:pointer;transition:background .2s}
.file-drop-btn:hover{background:var(--red)}
.file-drop-hint{font-size:.65rem;color:var(--gray-400);margin-top:8px}
.file-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.file-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:white;border:1px solid var(--gray-200);border-radius:6px;font-size:.72rem;color:var(--navy)}
.file-tag-name{font-weight:600}
.file-tag-size{color:var(--gray-400)}
.file-tag button{background:none;border:none;color:var(--gray-400);cursor:pointer;font-size:.9rem;padding:0 2px}
.file-tag button:hover{color:var(--red)}

/* RGPD & Captcha */
.rgpd-check{display:flex;align-items:flex-start;gap:8px;margin:16px 0;font-size:.72rem;color:var(--gray-500);line-height:1.4}
.rgpd-check input{margin-top:2px;accent-color:var(--red)}
.rgpd-check a{color:var(--red)}
.captcha-wrap{display:flex;align-items:center;gap:8px;margin-bottom:20px;flex-wrap:wrap}
.captcha-label{font-size:.78rem;font-weight:600;color:var(--gray-600)}
.captcha-question{font-size:.95rem;font-weight:700;color:var(--navy)}
.captcha-eq{font-size:.85rem;color:var(--gray-400)}
.captcha-input{width:50px;padding:6px 10px;border:1px solid var(--gray-200);border-radius:6px;font-size:.85rem;text-align:center;outline:none}
.captcha-input:focus{border-color:var(--red)}
.captcha-error{display:none;font-size:.72rem;color:var(--red);font-weight:600}

/* Submit */
.form-submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 32px;background:var(--red);color:white;border:none;border-radius:8px;font-size:.9rem;font-weight:700;font-family:var(--fd);cursor:pointer;transition:all .2s;width:100%}
.form-submit:hover{background:var(--red-dark);transform:translateY(-1px)}

@media(max-width:768px){
  .form-row{grid-template-columns:1fr}
  .panier-table{font-size:.72rem}
  .devis-form-section{padding:20px}
}
