/* Customer reviews and private dossier attachments. */
#avis [hidden],#vue-avisclients [hidden],#badge-avis[hidden],.dp-zone [hidden]{display:none!important}
.avis-selection{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.review-card{border:1px solid #343438;border-radius:8px;background:#141416;padding:24px;min-width:0;display:flex;flex-direction:column}
.review-card header,.review-admin-row header{min-height:0;padding:0;overflow:visible;text-align:left;justify-content:flex-start}
.review-card header{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.review-card p{font-size:.92rem;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere;margin:20px 0;color:#ededf0}
.review-card footer{margin-top:auto;color:#acacb6;font-size:.76rem;background:none;border:0;padding:0}.review-stars{color:#edc653;white-space:nowrap;letter-spacing:0}
.avis-selection-footer{display:flex;justify-content:flex-end;gap:16px;flex-wrap:wrap;margin-top:24px}
.review-dialog{width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 32px);background:#141416;color:#ededf0;border:1px solid #756030;border-radius:8px;margin:auto;padding:28px;overflow:auto}
.review-dialog::backdrop{background:#000b}.review-dialog-head,.review-admin-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.review-dialog form{padding:0;border:0;background:none;border-radius:0;box-shadow:none}.review-dialog label,.review-search{letter-spacing:0;text-transform:none}.review-dialog input,.review-dialog textarea,.review-search input{font-weight:400}
.review-dialog h2{font-size:1.4rem;letter-spacing:0;margin:0;text-transform:none}.review-icon{height:36px;width:36px;flex-shrink:0;border:1px solid #54545e;border-radius:6px;color:inherit;background:transparent;font-size:24px;cursor:pointer}
.review-dialog form>label:not(.review-consent),.review-search{display:flex;flex-direction:column;gap:8px;font-size:.85rem;font-weight:600;margin:16px 0}
.review-dialog input:not([type=radio]):not([type=checkbox]),.review-dialog textarea,.review-search input{width:100%;min-width:0;background:#0c0c0e;color:#f4f4f5;border:1px solid #56565e;border-radius:6px;padding:12px;font:inherit;line-height:1.5}
.review-dialog textarea{resize:vertical;min-height:110px}.review-dialog input:focus-visible,.review-dialog textarea:focus-visible,.review-icon:focus-visible{outline:2px solid #e8c55a;outline-offset:3px}
.review-rating{border:0;padding:0;margin:18px 0;display:flex;gap:8px}.review-rating legend{font-size:.85rem;font-weight:600;margin-bottom:8px}.review-rating label{position:relative;display:grid;place-items:center;width:44px;height:44px;background:#202024;border-radius:6px;color:#85858e;font-size:29px;cursor:pointer}
.review-rating input{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer}.review-rating .selected{color:#edc653}.review-rating label:focus-within{outline:2px solid #edc653;outline-offset:2px}.review-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.review-consent{display:flex;align-items:flex-start;gap:10px;font-size:.8rem;line-height:1.6}.review-consent input{margin-top:4px;width:18px;height:18px;flex-shrink:0;accent-color:#dfb74e}.review-disclosure{color:#b6b6c0;font-size:.75rem;line-height:1.6;margin-top:12px}.review-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
#review-submit-status{font-size:.85rem;line-height:1.6;margin:14px 0}.review-dialog button[type=submit]{width:100%}.review-dialog button:disabled{opacity:.6;cursor:wait}
.review-admin-head .adm-titre{margin-bottom:0}.review-filters{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid #35353b;padding-bottom:14px}.review-filters button{background:transparent;color:#c8c8d0;border:1px solid #414148;border-radius:6px;min-height:44px;padding:10px 16px;font:inherit;font-size:.86rem;cursor:pointer}.review-filters button[aria-pressed=true]{color:#f5d477;border-color:#b68d28;background:#302818}.review-filters span{margin-left:8px;font-variant-numeric:tabular-nums}
.review-search{max-width:440px}.review-admin-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;padding:24px 0;border-bottom:1px solid #35353b}.review-admin-row header{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px}.review-admin-row p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;margin:12px 0;color:#ececf0}.review-admin-row time,.review-admin-row small{color:#b0b0be;font-size:.78rem}.review-decisions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.review-decisions button{min-width:110px}.review-empty,#review-admin-status{color:#b8b8c4;line-height:1.6;margin:16px 0}
.dp-zone{color:#25252c;padding-top:14px;margin-top:14px;border-top:1px solid #e3dfd5}.dp-drop{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px dashed #aa8c48;border-radius:6px;background:#faf9f6}.dp-drop.dragging{outline:2px solid #bd931f;background:#fff3cd}.dp-drop span{font-size:.86rem}.dp-drop small{display:block;color:#60606b;margin-top:4px;font-size:.73rem}.dp-drop .mini-btn{color:#24242d!important;background:#fff!important;border-color:#b9aa89!important;white-space:nowrap}
.dp-zone details{margin-top:12px}.dp-zone summary{font-size:.86rem;font-weight:600;cursor:pointer;padding:8px 0}.dp-list{display:flex;flex-direction:column}.dp-file{border:0;border-bottom:1px solid #e4e1d9;background:none;text-align:left;font:inherit;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;cursor:pointer;color:#24242d}.dp-file b{font-size:.85rem;overflow-wrap:anywhere;min-width:0}.dp-file small{font-size:.72rem;color:#62626c}.dp-status{font-size:.8rem;line-height:1.5;margin:8px 0 0}.dp-preview{margin-top:12px;background:#eeece6;border-radius:6px;padding:12px;min-width:0}.dp-preview-toolbar{display:flex;gap:8px;align-items:center;justify-content:center;margin-bottom:10px;flex-wrap:wrap}.dp-preview-toolbar button,.dp-preview-toolbar a{display:inline-grid;place-items:center;min-width:36px;height:36px;padding:0 8px;color:#25252c;background:#fff;border:1px solid #a5a5ac;border-radius:4px;text-decoration:none;font:inherit;cursor:pointer}.dp-preview-toolbar span{font-size:.78rem;min-width:64px;text-align:center}.dp-preview canvas,.dp-preview img{display:block;max-width:100%;height:auto;margin:auto;background:white}.dp-file:focus-visible,.dp-zone summary:focus-visible{outline:2px solid #a98010;outline-offset:3px}.dp-preview-toolbar button:disabled{opacity:.4}
@media(max-width:850px){.avis-selection{grid-template-columns:1fr 1fr}.review-admin-row{grid-template-columns:1fr;gap:12px}.review-decisions{justify-content:flex-start}}
@media(max-width:560px){.avis-selection{grid-template-columns:1fr}.review-dialog{padding:20px}.review-card{padding:20px}.review-admin-head{align-items:flex-start}.review-filters button{flex:1;padding:10px 8px;font-size:.76rem}.dp-drop{align-items:flex-start;flex-direction:column}.dp-drop .mini-btn{align-self:flex-end}.dp-file{align-items:flex-start}.dp-preview{padding:6px}}

/* Readable full-length testimonials; provenance stays available to administrators. */
#avis .avis-selection{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
#avis .review-card{padding:28px;background:#131316;border-color:#303035;box-shadow:none}
#avis .review-card header{display:grid;grid-template-columns:40px minmax(0,1fr);gap:6px 14px;align-items:center;min-height:0}
#avis .review-avatar{grid-row:1 / 3;align-self:start;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#2e2920;color:#f2d183;font-size:14px;font-weight:600;letter-spacing:0}
#avis .review-card:nth-child(even) .review-avatar{background:#292c31;color:#e2e5ec}
#avis .review-author{display:flex;flex-direction:column;gap:5px;min-width:0}
#avis .review-author b{color:#f5f4f0;font-size:16px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}
#avis .review-date{font-size:12px;line-height:1.6;color:#a8a8b2;font-weight:400}
#avis .review-stars{grid-column:2;display:block;font-size:15px;line-height:1.5}
#avis .review-card p{font-size:15px;line-height:1.8;color:#dddde3;margin:22px 0 0;letter-spacing:0}
#avis .review-card .review-no-comment{font-size:14px;color:#a8a8b2;font-style:italic}
#avis .avis-selection-footer{justify-content:center;align-items:center;gap:16px;margin-top:32px}
#avis .avis-selection-footer button{min-height:46px}
@media(max-width:700px){#avis .avis-selection{grid-template-columns:1fr;gap:14px}#avis .review-card{padding:22px}#avis .review-card p{line-height:1.75}#avis .avis-selection-footer{flex-direction:column;align-items:stretch}#avis .avis-selection-footer button{width:100%;text-align:center}}
