:root { --ink:#102a43; --accent:#e30613; --accent-dark:#b5050f; --soft:#fff5f5; }
html { scroll-behavior:smooth; }
body { font-family:Inter,Arial,sans-serif; color:var(--ink); background:var(--soft); }
.brand { display:inline-flex; align-items:center; gap:12px; text-decoration:none; }
.logo-user-stack { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; min-width:155px; }
.logo-user-name { display:block; width:155px; margin-top:-2px; overflow:hidden; color:#66788a; font-size:.68rem; font-weight:700; line-height:1.15; text-align:center; text-overflow:ellipsis; white-space:nowrap; }
.company-logo { width:155px; height:48px; object-fit:contain; object-position:left center; }
.marketplace-label { color:var(--ink); font-size:.76rem; font-weight:800; letter-spacing:.04em; line-height:1.2; max-width:105px; }
.w3-black .marketplace-label { color:#fff; }
.topbar { height:68px; display:flex; align-items:center; }
.site-nav-inner { width:100%; padding-right:16px; }
.site-nav-inner .brand { margin-left:0; padding-top:4px; padding-bottom:4px; }
.site-nav-inner .w3-button,.mobile-menu .w3-button { font-weight:700; }
.hero { min-height:510px; background-color:#351015; background-image:linear-gradient(90deg,rgba(12,18,24,.9) 0%,rgba(12,18,24,.7) 48%,rgba(12,18,24,.28) 100%),url('https://images.unsplash.com/photo-1659721604753-87d4850a6ecc?auto=format&fit=crop&w=1800&q=90'); background-position:center; background-size:cover; background-repeat:no-repeat; }
.hero-inner { max-width:1100px; margin:auto; padding:124px 24px 130px; }
.hero-title { color:#fff; font-size:clamp(2.25rem,5vw,4.1rem); font-weight:800; line-height:1.08; max-width:690px; letter-spacing:-.02em; text-shadow:0 2px 14px rgba(0,0,0,.85); }
.hero-eyebrow { color:#fff!important; font-size:clamp(1.8rem,5.5vw,4rem); font-weight:800; line-height:1.15; letter-spacing:.04em; margin:0 0 24px; text-shadow:0 2px 8px rgba(0,0,0,.9); }
.hero-description { max-width:620px; color:#fff!important; font-size:1.2rem; line-height:1.65; font-weight:500; text-shadow:0 2px 9px rgba(0,0,0,.95); }
.search-box { width:calc(100% - 40px); max-width:1400px; margin:-60px auto 0; position:relative; z-index:2; }
.w3-input,.w3-select { border:1px solid #d8e0e7!important; border-radius:8px; background:#fff; }
.w3-input:focus,.w3-select:focus { border-bottom:2px solid var(--accent)!important; box-shadow:0 2px 0 rgba(227,6,19,.16); }
.accent { background:var(--accent)!important; }
.accent-text { color:var(--accent)!important; }
.round { border-radius:10px!important; }
.car-card { border-radius:14px; overflow:hidden; transition:transform .2s,box-shadow .2s; height:100%; }
.car-card:hover { transform:translateY(-5px); box-shadow:0 14px 30px rgba(18,34,48,.16); }
.car-image { width:100%; height:192px; object-fit:cover; display:block; }
.dropdown-panel { min-width:210px; border-radius:10px; overflow:hidden; }
.admin-mobile-submenu { padding-left:18px; background:#f3f5f7; }
.stat { border-left:1px solid #dbe2e8; }
.modal-card { max-width:450px; margin:7vh auto; border-radius:16px; overflow:hidden; }
.vehicle-modal { max-width:900px; margin:5vh auto; border-radius:16px; overflow:hidden; }
.vehicle-gallery { display:grid; grid-template-columns:repeat(2, 1fr); grid-template-rows:190px 190px; gap:6px; }
.vehicle-gallery img { width:100%; height:100%; object-fit:cover; display:block; cursor:zoom-in; transition:filter .2s; }
.vehicle-gallery img:hover { filter:brightness(.86); }
.carousel-arrow:hover,.carousel-arrow:focus { background:var(--accent); }
.carousel-arrow-left { left:16px; }
.carousel-arrow-right { right:16px; }
.carousel-counter { position:absolute; right:18px; bottom:14px; padding:5px 12px; border-radius:16px; color:#fff; background:rgba(0,0,0,.68); font-weight:700; }
.image-viewer { max-width:min(92vw,1100px); margin:5vh auto; background:transparent; }
.image-viewer img { display:block; width:100%; max-height:85vh; object-fit:contain; }
.order-summary { border-left:4px solid var(--accent); }
.modal-card .w3-input { margin-top:7px; margin-bottom:16px; }
.no-results { display:none; }
.search-field { width:20%; float:left; }
.auth-page { min-height:calc(100vh - 170px); display:flex; align-items:center; justify-content:center; padding:116px 20px 48px; }
.auth-card { width:100%; max-width:520px; padding:32px; border-radius:16px; }
.auth-brand { margin-bottom:20px; }
.auth-card .w3-input,.auth-card .w3-select { margin-top:7px; margin-bottom:18px; }
.auth-card .field-help { margin-top:-12px; margin-bottom:18px; color:#66788a; font-size:.85rem; }
.auth-card .terms-field { display:block; margin:4px 0 22px; }
.account-page { min-height:calc(100vh - 170px); padding:116px 20px 48px; }
.account-grid { margin:24px -16px 0; }
.account-card { padding:28px; border-radius:14px; }
.account-card .w3-input { margin-top:7px; margin-bottom:18px; }
.admin-page { min-height:calc(100vh - 170px); padding:116px 20px 48px; }
.admin-card { max-width:1000px; padding:32px; border-radius:16px; }
.admin-card > form > .w3-input,.admin-card > form > .w3-select { margin-top:7px; margin-bottom:18px; }
.admin-form-grid { margin:24px -16px; }
.admin-form-grid .w3-input,.admin-form-grid .w3-select { margin-top:7px; margin-bottom:18px; }
.vehicle-action-buttons { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:16px; padding-top:24px; border-top:1px solid #ddd; }
.vehicle-action-buttons .w3-button { flex:1; }
.orders-card { max-width:1400px; }
.orders-table-wrapper { overflow-x:auto; margin-top:20px; }
.orders-table { min-width:1100px; }
.orders-table th { background:var(--ink); color:#fff; }
.orders-table td { vertical-align:middle; }
.vehicles-total-row th { background:#e8edf2; color:var(--ink); font-size:1rem; }
.order-total,.status-badge { display:inline-block; padding:5px 10px; border-radius:14px; background:#eef2f6; font-size:.82rem; font-weight:700; }
.seller-space { width:100%; max-width:1600px; }
.seller-space .admin-card { width:100%; max-width:none; }
.seller-dashboard { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:24px 0 30px; }
.seller-dashboard-card { position:relative; overflow:hidden; min-height:150px; padding:22px; border:1px solid #e4e9ef; border-radius:16px; background:#fff; box-shadow:0 8px 25px rgba(15,23,42,.08); }
.seller-dashboard-card::after { content:""; position:absolute; width:90px; height:90px; right:-24px; bottom:-30px; border-radius:50%; background:currentColor; opacity:.09; }
.seller-dashboard-card span,.seller-dashboard-card small { display:block; }
.seller-dashboard-card span { color:#52606d; font-weight:700; }
.seller-dashboard-card strong { display:block; margin:8px 0 2px; color:#111827; font-size:2.5rem; line-height:1; }
.seller-dashboard-card small { color:#6b7280; }
.seller-dashboard-pending { color:#d97706; border-top:4px solid #f59e0b; }
.seller-dashboard-published { color:#2563eb; border-top:4px solid #3b82f6; }
.seller-dashboard-sold { color:#15803d; border-top:4px solid #22c55e; }
.admin-dashboard-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin:24px 0; }
.admin-kpi { display:block; min-height:130px; padding:20px; color:#172033; text-decoration:none; background:#fff; border:1px solid #e4e9ef; border-top:4px solid currentColor; border-radius:14px; box-shadow:0 7px 22px rgba(15,23,42,.07); }
.admin-kpi span,.admin-kpi small { display:block; color:#667085; font-weight:700; }
.admin-kpi strong { display:block; margin-top:10px; font-size:1.8rem; line-height:1.15; }
.admin-kpi:hover { transform:translateY(-2px); box-shadow:0 10px 28px rgba(15,23,42,.12); }
.kpi-blue{color:#2563eb}.kpi-green{color:#15803d}.kpi-purple{color:#7c3aed}.kpi-dark{color:#111827}.kpi-orange{color:#d97706}.kpi-cyan{color:#0891b2}.kpi-pink{color:#db2777}
.dashboard-shortcuts { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:30px; }
.table-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; margin:18px 0; }
.pagination { display:flex; flex-wrap:wrap; justify-content:center; gap:6px; margin:22px 0 4px; }
.pagination a,.pagination span { min-width:38px; padding:8px 11px; text-align:center; border:1px solid #d8dee8; border-radius:7px; text-decoration:none; }
.pagination .active { color:#fff; background:#172033; border-color:#172033; }
.sort-link { color:inherit; text-decoration:none; white-space:nowrap; }
.seller-car-image { width:90px; height:64px; object-fit:cover; border-radius:7px; }
.stock-input { min-width:90px; }
.stock-filters { display:grid; grid-template-columns:1.2fr 1fr 1fr auto; gap:16px; align-items:end; margin:24px 0; padding:20px; background:#f4f7f9; border-radius:12px; }
.stock-filters label { display:block; margin-bottom:6px; }
.stock-filter-actions { display:flex; gap:8px; padding-bottom:1px; }
.chassis-image-link { color:var(--accent); font-weight:800; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.chassis-image-link:hover,.chassis-image-link:focus { color:var(--accent-dark); }
.company-page { padding-top:68px; background:#f4f7f9; }
.company-content { max-width:1200px; }
.company-hero { padding:88px 24px; background:linear-gradient(120deg,rgba(10,29,45,.97),rgba(101,19,26,.91)); }
.company-hero h1 { max-width:800px; margin:12px 0 20px; font-size:clamp(2.25rem,5vw,4rem); line-height:1.1; font-weight:800; }
.company-hero p:last-child { max-width:760px; font-size:1.2rem; line-height:1.7; }
.company-kicker { margin:0; font-weight:800; letter-spacing:.13em; }
.company-section { padding:64px 20px; }
.company-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.company-card { padding:32px; border-radius:16px; }
.company-card h2,.company-objectives h2 { color:var(--ink); font-weight:800; }
.company-card p { line-height:1.75; }
.company-objectives { background:#fff; }
.company-objective-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin-top:32px; }
.company-objective-grid article { padding:24px; border:1px solid #e0e6eb; border-radius:14px; background:#f8fafb; }
.company-objective-grid span { color:var(--accent); font-size:1.5rem; font-weight:800; }
.company-objective-grid h3 { font-size:1.05rem; font-weight:800; }
.company-country-list { columns:2; padding-left:20px; line-height:2; }
.company-contact-card { color:#fff; background:var(--ink); }
.company-contact-card h2 { color:#fff; }
.company-contact-card a { color:#fff; }
.company-headquarters { padding:58px 24px; background:#65131a; }
.company-headquarters h2 { margin-bottom:8px; font-size:2.25rem; font-weight:800; }
.company-headquarters address { font-style:normal; font-size:1.1rem; }
.vehicle-info-page { min-height:70vh; padding:108px 20px 56px; background:#f4f7f9; }
.vehicle-info-shell { max-width:1400px; padding:28px; border-radius:16px; }
.vehicle-info-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr); gap:30px; align-items:start; }
.vehicle-detail-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.vehicle-detail-gallery button { padding:0; border:0; background:transparent; cursor:zoom-in; overflow:hidden; border-radius:12px; }
.vehicle-detail-gallery img { display:block; width:100%; height:260px; object-fit:cover; transition:transform .2s; }
.vehicle-detail-gallery button:hover img { transform:scale(1.025); }
.vehicle-info-card { position:sticky; top:90px; padding:30px; border-radius:16px; }
.vehicle-info-card h1 { margin:18px 0 8px; font-weight:800; }
.vehicle-detail-price { color:var(--accent); font-size:1.75rem; font-weight:800; }
.vehicle-specs { margin:28px 0; }
.vehicle-specs div { display:flex; justify-content:space-between; gap:20px; padding:12px 0; border-bottom:1px solid #e0e6eb; }
.vehicle-specs dt { color:#607080; }
.vehicle-specs dd { margin:0; text-align:right; font-weight:700; }
.account-benefits { padding:64px 20px; }
.account-benefits-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin:32px 0; text-align:left; }
.account-benefits-grid div { padding:24px; border:1px solid #e0e6eb; border-radius:14px; background:#f8fafb; }
.account-benefits-grid b,.account-benefits-grid span { display:block; }
.account-benefits-grid b { margin-bottom:9px; color:var(--ink); font-size:1.05rem; }
.account-benefits-grid span { color:#607080; line-height:1.6; }
.activity-filters { display:grid; grid-template-columns:1fr 1fr auto; gap:16px; align-items:end; margin:24px 0; padding:20px; border-radius:12px; background:#f4f7f9; }
.activity-filters label { display:block; margin-bottom:6px; }
.activity-table { min-width:1450px; }
.footer-message { margin-top:30px; padding-top:24px; border-top:1px solid #405064; }
.footer-contact-form { max-width:850px; }
.footer-contact-form label { display:block; margin:14px 0 6px; font-weight:700; }
.footer-contact-form .w3-input { color:var(--ink); }
.footer-contact-form textarea { resize:vertical; }
.footer-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.contact-honeypot { position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
.order-action-form { margin:4px 0; white-space:nowrap; }
.sale-status { display:inline-block; padding:6px 11px; border-radius:14px; font-size:.8rem; font-weight:800; white-space:nowrap; }
.sale-status-sold { color:#fff; background:#198754; }
.sale-status-reserved { color:#704d00; background:#fff0bd; }
.sale-status-available { color:#155724; background:#d4edda; }

@media (max-width:800px) {
  .admin-dashboard-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .search-field { width:50%; }
  .stock-filters { grid-template-columns:1fr 1fr; }
  .company-objective-grid { grid-template-columns:1fr 1fr; }
  .vehicle-info-layout { grid-template-columns:1fr; }
  .vehicle-info-card { position:static; }
  .account-benefits-grid { grid-template-columns:1fr 1fr; }
  .activity-filters { grid-template-columns:1fr 1fr; }
}

@media (max-width:600px) {
  .admin-dashboard-grid { grid-template-columns:1fr; }
  .seller-dashboard { grid-template-columns:1fr; }
  .hero-inner { padding-top:96px; padding-bottom:120px; }
  .search-box { width:auto; margin:-50px 14px 0; }
  .stat { border-left:0; border-top:1px solid #dbe2e8; }
  .mobile-menu { position:absolute; top:68px; left:0; right:0; z-index:10; }
  .car-image { height:205px; }
  .vehicle-carousel { height:270px; }
  .carousel-arrow { width:42px; height:52px; }
  .company-logo { width:132px; height:42px; }
  .logo-user-stack { min-width:132px; }
  .logo-user-name { width:132px; font-size:.62rem; }
  .marketplace-label { font-size:.62rem; max-width:78px; }
  .search-field { width:100%; }
  .vehicle-action-buttons { flex-direction:column; }
  .vehicle-action-buttons .w3-button { width:100%; }
  .footer-form-grid { grid-template-columns:1fr; gap:0; }
  .stock-filters { grid-template-columns:1fr; }
  .stock-filter-actions { flex-wrap:wrap; }
  .company-grid,.company-objective-grid { grid-template-columns:1fr; }
  .company-country-list { columns:1; }
  .company-hero { padding:64px 20px; }
  .vehicle-detail-gallery { grid-template-columns:1fr; }
  .vehicle-detail-gallery img { height:230px; }
  .account-benefits-grid { grid-template-columns:1fr; }
  .activity-filters { grid-template-columns:1fr; }
}

/* Formulaires d’ajout et d’édition des véhicules. */
.vehicle-editor { background:#f3f5f8; }
.vehicle-editor > .admin-card { max-width:1120px; border:1px solid #e1e5ec; border-radius:20px; padding:32px; box-shadow:0 8px 32px #172b4010!important; }
.vehicle-editor-intro { padding:8px 0 24px; border-bottom:1px solid #e5e9ef; margin-bottom:24px; }
.vehicle-editor-eyebrow { font-size:11px; font-weight:800; letter-spacing:.14em; color:#841c2b; }
.vehicle-editor h1 { font-size:32px; font-weight:800; letter-spacing:-.7px; margin:8px 0; color:#102d40; }
.vehicle-editor-intro p { color:#5e6d7c; margin:8px 0 0; }
.vehicle-editor .vehicle-editor-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 24px; margin:0; padding:0; }
.vehicle-editor .vehicle-editor-grid::before,.vehicle-editor .vehicle-editor-grid::after { display:none; }
.vehicle-editor-grid > .w3-half,.vehicle-editor-grid > .w3-col { width:auto; float:none; padding:0; min-width:0; }
.vehicle-editor-grid > .s12,.vehicle-editor-grid > .vehicle-section-heading { grid-column:1/-1; }
.vehicle-section-heading { display:flex; align-items:center; gap:14px; padding:22px 0 6px; }
.vehicle-section-heading > span { display:grid; place-items:center; flex:0 0 38px; height:38px; background:#f9e9ec; color:#841c2b; border-radius:12px; font-size:13px; font-weight:800; }
.vehicle-section-heading h2 { font-size:19px; font-weight:750; color:#102d40; margin:0; }
.vehicle-section-heading p { margin:4px 0 0; font-size:13px; color:#697584; }
.vehicle-editor label { display:block; font-size:13px; color:#283c4c; margin:0 0 8px; }
.vehicle-editor .w3-input,.vehicle-editor .w3-select { width:100%; min-height:46px; border:1px solid #ced7e0!important; border-radius:9px; padding:11px 13px; background:#fff; color:#172c3c; transition:border-color .15s,box-shadow .15s; }
.vehicle-editor input:focus-visible,.vehicle-editor select:focus-visible,.vehicle-editor button:focus-visible,.vehicle-editor a:focus-visible { outline:3px solid #b7d9ec; outline-offset:2px; border-color:#24729b!important; }
.vehicle-editor input[readonly] { background:#f3f5f8; }
.vehicle-editor small { display:block; color:#697584; font-size:12px; margin-top:7px; line-height:1.5; }
.vehicle-editor .vehicle-upload-card { height:100%; margin:0; min-width:0; padding:18px!important; border:1px dashed #bfcbd7!important; background:#fafbfd; border-radius:14px; }
.vehicle-upload-card legend { padding:0 8px; font-size:14px; font-weight:750; color:#19384d; }
.vehicle-editor input[type=file] { font-size:12px; padding:8px; background:white; }
.vehicle-editor input[type=file]::file-selector-button { border:0; padding:9px 12px; background:#e8eef4; color:#16374e; font-weight:650; border-radius:6px; margin-right:10px; cursor:pointer; }
.vehicle-upload-card img[data-apercu-photo] { border-radius:9px; background:#edf1f5; }
.vehicle-editor #aide-photos,.vehicle-editor #aide-documents { line-height:1.6; font-size:13px; color:#627080!important; }
.vehicle-editor #documents_selection { padding:10px 12px; background:#eaf1f7; border-radius:8px; font-size:13px; overflow-wrap:anywhere; }
.vehicle-editor .vehicle-save-button { display:block; margin-top:28px; border-radius:10px; font-weight:700; box-shadow:0 4px 12px #841c2b25; }
.vehicle-editor .vehicle-search-form { padding:20px; background:#edf2f7; border-radius:12px; margin-bottom:24px; }
.vehicle-editor .w3-panel { border-radius:10px; }
@media(max-width:600px) {
 .vehicle-editor > .admin-card { padding:20px 16px; border-radius:12px; }
 .vehicle-editor .vehicle-editor-grid { grid-template-columns:1fr; gap:18px; }
 .vehicle-editor h1 { font-size:26px; }
 .vehicle-editor .vehicle-save-button { width:100%; }
 .vehicle-section-heading { gap:10px; }
 .vehicle-editor input[type=file] { max-width:100%; }
}