.w2s-marketplace {
    max-width: 1200px;
    margin: 0 auto;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    color: #061E30;
}
.w2s-marketplace h3 {
    color: #061E30;
    border-left: 6px solid #00A3AD;
    padding: 4px 0 4px 12px;
    margin: 34px 0 18px;
    font-size: 1.3rem;
}
.w2s-banner {
    background: #A3CC2B;
    color: #061E30;
    padding: 12px 16px;
    border-radius: 6px;
    margin: 14px 0;
}
.w2s-banner a { font-weight: 700; color: #061E30; }
.w2s-login-prompt {
    background: #285B39;
    color: #fff;
    padding: 22px;
    border-radius: 8px;
    margin: 16px 0;
}
.w2s-login-prompt h2 { margin: 0 0 8px; font-size: 1.2rem; }
.w2s-btn {
    display: inline-block;
    background: #061E30;
    color: #fff;
    border: 0;
    border-radius: 6px;
    padding: 10px 18px;
    font-size: .95rem;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
}
.w2s-btn:hover { background: #00A3AD; color: #fff; }
.w2s-btn-sm { padding: 7px 12px; font-size: .85rem; }
.w2s-btn-primary { background: #FF6415; }
.w2s-btn-primary:hover { background: #061E30; }
.w2s-link {
    background: none;
    border: 0;
    color: #FF6415;
    text-decoration: underline;
    cursor: pointer;
    padding: 0;
    font-size: .88rem;
}
.w2s-req { color: #FF6415; }
.w2s-form { max-width: 760px; }
.w2s-field label { display: block; margin: 8px 0; font-weight: 600; font-size: .92rem; }
.w2s-field input,
.w2s-field textarea {
    display: block;
    width: 100%;
    margin-top: 4px;
    padding: 9px 11px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    font-size: .95rem;
    box-sizing: border-box;
}
.w2s-checks { display: flex; gap: 24px; flex-wrap: wrap; }
.w2s-check { font-weight: 400; display: flex; align-items: center; gap: 6px; }
.w2s-check input { width: auto; margin-top: 0; }
.w2s-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: flex-end;
    padding: 14px;
    background: #f0f5f9;
    border-radius: 8px;
    margin-bottom: 20px;
}
.w2s-filters label { display: block; font-size: .82rem; font-weight: 700; color: #285B39; }
.w2s-filters select,
.w2s-filters input[type="search"] {
    display: block;
    margin-top: 4px;
    padding: 8px 10px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    min-width: 150px;
    background: #fff;
}
.w2s-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 18px;
}
.w2s-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-top: 4px solid #00A3AD;
    border-radius: 8px;
    overflow: hidden;
    transition: transform .12s ease, box-shadow .12s ease;
}
.w2s-card:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(6,30,48,.12); }
.w2s-card.w2s-disabled { opacity: .55; }
.w2s-thumb { height: 150px; background: #eef2f6; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.w2s-thumb img { width: 100%; height: 100%; object-fit: cover; }
.w2s-card-body { padding: 14px; }
.w2s-famille {
    display: inline-block;
    background: #A3CC2B;
    color: #061E30;
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
    padding: 3px 9px;
    border-radius: 20px;
    margin-bottom: 6px;
}
.w2s-card-body h4 { margin: 4px 0 6px; font-size: 1.05rem; }
.w2s-meta { color: #64748b; font-size: .85rem; margin: 0 0 6px; }
.w2s-comment { font-size: .85rem; font-style: italic; color: #334155; margin: 0 0 8px; }
.w2s-infos { font-size: .9rem; margin: 0 0 10px; }
.w2s-select-row { display: flex; gap: 8px; align-items: center; }
.w2s-qty, .w2s-qty-line {
    width: 74px;
    padding: 7px 9px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
}
.w2s-empty { color: #64748b; font-style: italic; }
.w2s-table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.w2s-table th, .w2s-table td { padding: 9px 10px; border-bottom: 1px solid #e2e8f0; text-align: left; }
.w2s-table thead th { background: #061E30; color: #fff; font-size: .85rem; }
.w2s-table tfoot th { border-top: 2px solid #061E30; }
.w2s-selection, .w2s-orders {
    margin-top: 22px;
    padding: 18px;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #fafcfe;
}
.w2s-logistics {
    background: #fff;
    border: 1px solid #A3CC2B;
    border-radius: 8px;
    padding: 4px 16px;
    margin: 14px 0;
}
.w2s-msg.success { color: #285B39; font-weight: 700; }
.w2s-msg.error { color: #FF6415; font-weight: 700; }

/* ── Gate code d'accès & admin ─────────────────────────────── */
.w2s-gate {
    background: #f0f5f9;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 22px;
    margin: 16px 0;
    max-width: 620px;
}
.w2s-gate h3 { margin-top: 0; }
.w2s-gate-intro { color: #334155; font-size: .95rem; }
.w2s-gate-admin { border-top: 4px solid #FF6415; }
.w2s-hint { color: #64748b; font-size: .82rem; margin: -4px 0 8px; }

/* ── Tags ──────────────────────────────────────────────────── */
.w2s-tag {
    display: inline-block;
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
    padding: 2px 8px;
    border-radius: 20px;
}
.w2s-tag-test { background: #FF6415; color: #fff; }
.w2s-fiche-stat { display: inline-block; font-size: .78rem; font-weight: 700; padding: 2px 9px; border-radius: 20px; }
.w2s-stat-en_attente { background: #fde68a; color: #92400e; }
.w2s-stat-validee { background: #bbf7d0; color: #14532d; }
.w2s-stat-livree { background: #c7d2fe; color: #312e81; }

/* ── Ajout dans les cartes ─────────────────────────────────── */
.w2s-thumb-placeholder {
    color: #94a3b8;
    font-size: .8rem;
    text-transform: uppercase;
    letter-spacing: .05em;
}

/* ── Fiches suiveuses (accordéon) ──────────────────────────── */
.w2s-fiches { margin-top: 24px; }
.w2s-fiche {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    margin-bottom: 10px;
    background: #fff;
    overflow: hidden;
}
.w2s-fiche-head {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    text-align: left;
    background: #f8fafc;
    border: 0;
    padding: 12px 16px;
    font-size: .92rem;
    cursor: pointer;
}
.w2s-fiche-head:hover { background: #f1f5f9; }
.w2s-fiche-ref { font-weight: 800; color: #061E30; }
.w2s-fiche-date, .w2s-fiche-vol, .w2s-fiche-nb { color: #475569; }
.w2s-fiche-body { padding: 6px 16px 14px; border-top: 1px solid #eef2f6; }

/* ── Espace admin ──────────────────────────────────────────── */
.w2s-admin {
    background: #fff;
    border: 1px solid #FF6415;
    border-radius: 10px;
    padding: 20px;
    margin: 16px 0;
}
.w2s-admin h4 {
    color: #FF6415;
    margin: 26px 0 12px;
    font-size: 1.05rem;
    border-bottom: 2px solid #FF6415;
    padding-bottom: 6px;
}
.w2s-admin-tools { background: #fff4ed; border: 1px solid #fed7aa; border-radius: 8px; padding: 10px 14px; margin-bottom: 14px; }
.w2s-toggle { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: #7c2d12; }
.w2s-toggle input { width: auto; }
.w2s-table-admin { font-size: .85rem; }
.w2s-table-admin td, .w2s-table-admin th { padding: 7px 8px; }
.w2s-statut { padding: 5px 8px; border: 1px solid #cbd5e1; border-radius: 5px; }
.w2s-admin-qty {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    gap: 10px;
}
.w2s-admin-qty-row {
    display: flex;
    gap: 8px;
    align-items: center;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 8px 12px;
}
.w2s-admin-qty-name { flex: 1; font-size: .88rem; font-weight: 600; }
.w2s-admin-qty-input { width: 84px; padding: 6px 8px; border: 1px solid #cbd5e1; border-radius: 5px; }
.w2s-order-detail td { background: #fbfdff; }

@media (max-width: 720px) {
    .w2s-grid { grid-template-columns: 1fr; }
    .w2s-table-wrap { overflow-x: auto; }
    .w2s-admin-qty { grid-template-columns: 1fr; }
}