.cr-btn {
    display:inline-block;padding:12px 28px;background:#1a1a1a;color:#ffffff;border:none;border-radius:4px;
    font-size:14px;font-weight:500;text-decoration:none;cursor:pointer;transition:all 0.3s;text-align:center;
}
.cr-btn:hover { background:#333333;color:#ffffff; }
.cr-btn-outline { background:transparent;border:2px solid #1a1a1a;color:#1a1a1a; }
.cr-btn-outline:hover { background:#1a1a1a;color:#ffffff; }
.cr-btn:disabled { opacity:0.5;cursor:not-allowed; }
.cr-btn-primary { background:#c8a84e; }
.cr-btn-primary:hover { background:#b89638; }

.cr-input {
    width:100%;padding:10px 14px;border:1px solid #ddd;border-radius:4px;font-size:14px;
    background:#fff;color:#1a1a1a;transition:border-color 0.3s;
}
.cr-input:focus { border-color:#1a1a1a;outline:none;box-shadow:0 0 0 2px rgba(26,26,26,0.1); }

.cr-error { color:#c0392b;background:#fce4e4;padding:10px 14px;border-radius:4px;margin:10px 0; }
.cr-success { color:#27ae60;background:#e8f8f0;padding:10px 14px;border-radius:4px;margin:10px 0; }

.cr-badge {
    display:inline-block;padding:4px 12px;border-radius:12px;font-size:11px;font-weight:600;
    text-transform:uppercase;letter-spacing:0.5px;line-height:1.4;
}
.cr-badge-disponible, .cr-badge-confirmed { background:#d4edda;color:#155724; }
.cr-badge-reserve, .cr-badge-pending { background:#fff3cd;color:#856404; }
.cr-badge-indisponible, .cr-badge-cancelled { background:#f8d7da;color:#721c24; }
.cr-badge-completed { background:#cce5ff;color:#004085; }
.cr-badge-outline { background:transparent;border:1px solid #1a1a1a;color:#1a1a1a; }

.cr-vehicle-card {
    background:#ffffff;border-radius:8px;overflow:hidden;box-shadow:0 2px 20px rgba(0,0,0,0.08);
    transition:transform 0.3s,box-shadow 0.3s;
}
.cr-vehicle-card:hover { transform:translateY(-4px);box-shadow:0 8px 30px rgba(0,0,0,0.12); }
.cr-vc-image { position:relative;overflow:hidden;aspect-ratio:16/10; }
.cr-vc-image img { width:100%;height:100%;object-fit:cover;transition:transform 0.5s; }
.cr-vehicle-card:hover .cr-vc-image img { transform:scale(1.05); }
.cr-vc-badge { position:absolute;top:12px;left:12px;background:#1a1a1a;color:#fff;padding:4px 12px;border-radius:4px;font-size:11px;font-weight:600; }
.cr-vc-statut { position:absolute;top:12px;right:12px; }
.cr-vc-content { padding:20px; }
.cr-vc-title { margin:0 0 8px;font-size:18px;font-weight:600; }
.cr-vc-title a { color:#1a1a1a;text-decoration:none; }
.cr-vc-title a:hover { color:#555; }
.cr-vc-type { font-size:13px;color:#888;display:block;margin-bottom:12px; }
.cr-vc-price { margin:12px 0; }
.cr-price-location { font-size:22px;font-weight:700;color:#1a1a1a;display:block; }
.cr-price-location small { font-size:13px;font-weight:400;color:#888; }
.cr-price-vente { font-size:16px;color:#666;display:block;margin-top:4px; }
.cr-vc-actions { display:flex;gap:10px;margin-top:16px; }
.cr-vc-actions .cr-btn { flex:1;padding:10px 16px;font-size:13px; }

.cr-filters-grid {
    display:flex;gap:16px;flex-wrap:wrap;padding:20px;background:#f9f9f9;border-radius:8px;margin-bottom:24px;
}
.cr-filter-item { flex:1;min-width:180px; }
.cr-filter-item label { display:block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:4px;color:#666; }
.cr-filter-item select { width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;background:#fff; }

.cr-pagination { text-align:center;margin:30px 0; }
.cr-pagination .page-numbers { display:inline-block;padding:8px 16px;margin:0 2px;border:1px solid #ddd;border-radius:4px;text-decoration:none;color:#1a1a1a; }
.cr-pagination .page-numbers.current { background:#1a1a1a;color:#fff;border-color:#1a1a1a; }
.cr-pagination .page-numbers:hover:not(.current) { background:#f5f5f5; }

.cr-vehicle-detail { display:grid;grid-template-columns:1fr 1fr;gap:40px; }
.cr-vd-gallery { }
.cr-vd-main-image { border-radius:8px;overflow:hidden;margin-bottom:12px; }
.cr-vd-main-image img { width:100%;height:auto;display:block; }
.cr-vd-thumbs { display:flex;gap:8px;flex-wrap:wrap; }
.cr-vd-thumb { width:80px;height:60px;object-fit:cover;border-radius:4px;cursor:pointer;opacity:0.7; }
.cr-vd-thumb:hover { opacity:1; }
.cr-vd-info { }
.cr-vd-title { margin:0 0 12px;font-size:32px;font-weight:700; }
.cr-vd-badges { display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px; }
.cr-vd-pricing { display:flex;gap:20px;margin-bottom:20px; }
.cr-vd-price-box { background:#f5f5f5;padding:16px 24px;border-radius:8px;flex:1; }
.cr-vd-price-amount { font-size:28px;font-weight:700;color:#1a1a1a; }
.cr-vd-price-label { font-size:14px;color:#888;display:block; }
.cr-vd-specs { width:100%;border-collapse:collapse;margin-bottom:20px; }
.cr-vd-specs th,.cr-vd-specs td { padding:10px 14px;border-bottom:1px solid #eee;text-align:left; }
.cr-vd-specs th { font-weight:600;color:#555;width:40%; }
.cr-vd-options { margin-bottom:20px; }
.cr-vd-options h3 { font-size:16px;font-weight:600;margin-bottom:8px; }
.cr-vd-options ul { padding-left:20px; }
.cr-vd-options li { margin-bottom:4px;color:#555; }
.cr-vd-description { margin-bottom:20px;line-height:1.7;color:#555; }
.cr-vd-booking { border-top:1px solid #eee;padding-top:20px; }
.cr-vd-booking h3 { font-size:18px;font-weight:600;margin-bottom:16px; }

.cr-booking-form { background:#fff;padding:24px;border-radius:8px; }
.cr-booking-dates { display:flex;gap:16px;flex-wrap:wrap;margin-bottom:16px; }
.cr-booking-dates .cr-field { flex:1;min-width:180px; }
.cr-booking-dates .cr-field label { display:block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:4px;color:#666; }
.cr-field-btn { display:flex;align-items:flex-end; }
.cr-availability-result { margin:16px 0; }
.cr-booking-summary { background:#f9f9f9;padding:20px;border-radius:8px; }
.cr-booking-summary h4 { margin:0 0 12px;font-size:18px; }
.cr-booking-summary hr { border:none;border-top:1px solid #ddd;margin:12px 0; }
.cr-booking-summary p { margin:6px 0; }
.cr-booking-summary .cr-total { font-size:20px;margin-top:12px;padding-top:12px;border-top:2px solid #1a1a1a; }
.cr-booking-summary .cr-caution-info { font-size:13px;color:#888;margin-top:8px; }

.cr-client-area { max-width:900px;margin:0 auto; }
.cr-ca-header { margin-bottom:30px; }
.cr-ca-header h2 { font-size:24px;margin-bottom:16px; }
.cr-ca-nav { display:flex;gap:4px;background:#f5f5f5;border-radius:8px;padding:4px; }
.cr-ca-nav a { flex:1;padding:12px 20px;text-align:center;text-decoration:none;color:#555;border-radius:6px;font-weight:500;transition:all 0.3s; }
.cr-ca-nav a.active { background:#1a1a1a;color:#fff; }
.cr-ca-nav a:hover:not(.active) { background:#e8e8e8; }
.cr-ca-login { max-width:400px;margin:40px auto;text-align:center; }
.cr-ca-login h2 { font-size:28px;margin-bottom:8px; }
.cr-ca-login .login-username,.cr-ca-login .login-password { margin-bottom:12px; }
.cr-ca-login input[type="text"],.cr-ca-login input[type="password"] { width:100%;padding:10px 14px;border:1px solid #ddd;border-radius:4px; }
.cr-ca-login input[type="submit"] { background:#1a1a1a;color:#fff;border:none;padding:12px 28px;border-radius:4px;cursor:pointer;width:100%; }

.cr-reservation-card {
    background:#fff;border:1px solid #eee;border-radius:8px;padding:20px;margin-bottom:16px;
}
.cr-rc-header { display:flex;justify-content:space-between;align-items:center;margin-bottom:12px; }
.cr-rc-header h3 { margin:0;font-size:18px; }
.cr-rc-details p { margin:4px 0;color:#555; }
.cr-rc-actions { margin-top:12px;display:flex;gap:10px; }

.cr-profile-form { max-width:500px; }
.cr-profile-form p { margin-bottom:16px; }
.cr-profile-form label { display:block;font-weight:600;margin-bottom:4px; }
.cr-profile-form .cr-input { width:100%; }

.cr-documents-area { }
.cr-upload-doc { margin-top:20px;padding:20px;background:#f9f9f9;border-radius:8px; }
.cr-upload-doc h4 { margin:0 0 12px; }
.cr-upload-doc .cr-file-info { display:block;font-size:12px;color:#888;margin-top:4px; }
.cr-upload-doc label { display:block;margin-bottom:8px; }

.cr-doc-item { display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#fff;border:1px solid #eee;border-radius:6px;margin-bottom:8px; }
.cr-doc-item .cr-doc-info { flex:1; }
.cr-doc-item .cr-doc-title { font-weight:500; }
.cr-doc-item .cr-doc-date { font-size:12px;color:#888; }
.cr-doc-item .cr-doc-statut { font-size:12px; }

@media (max-width:768px) {
    .cr-vehicle-detail { grid-template-columns:1fr; }
    .cr-filters-grid { flex-direction:column; }
    .cr-booking-dates { flex-direction:column; }
    .cr-ca-nav { flex-direction:column; }
    .cr-vc-actions { flex-direction:column; }
    .cr-vc-actions .cr-btn { width:100%; }
}