.drive-grid { grid-template-columns:repeat(auto-fill,minmax(170px,1fr)) !important; align-items:start; gap:.6rem !important; }
.drive-photo-card { padding:0 !important; aspect-ratio:1; }
.drive-photo-card .drive-preview-trigger { padding:0 !important; width:100%; height:100%; }
.drive-photo-card .drive-thumbnail { width:100% !important; height:100% !important; border-radius:0 !important; display:block; }
.drive-photo-card .drive-select-label { position:absolute; top:.45rem; left:.45rem; z-index:2; margin:0; padding:.45rem; background:rgba(15,23,42,.55); color:#fff; border-radius:50%; opacity:0; backdrop-filter:blur(8px); }
.drive-photo-card .drive-select-label span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.drive-photo-card .drive-select-label input { margin:0; accent-color:#2dd4bf; }
.drive-photo-card .drive-photo-meta { position:absolute; bottom:0; left:0; right:0; background:linear-gradient(transparent,rgba(2,6,23,.85)); padding:1.2rem .55rem .55rem; opacity:0; pointer-events:none; }
.drive-photo-card .drive-photo-meta div { color:#fff !important; }
.drive-photo-card:hover .drive-select-label, .drive-photo-card:focus-within .drive-select-label,
.drive-photo-card:has(.drive-file-select:checked) .drive-select-label,
.drive-photo-card:hover .drive-photo-meta, .drive-photo-card:focus-within .drive-photo-meta { opacity:1; }
.drive-photo-card:has(.drive-file-select:checked) { outline:3px solid var(--green); outline-offset:-3px; }
.drive-grid .drive-photo-card .drive-actions { z-index:3; max-width:calc(100% - 3rem); flex-direction:row !important; flex-wrap:wrap; justify-content:flex-end; background:transparent !important; box-shadow:none !important; padding:0 !important; gap:4px !important; }
.drive-photo-card .drive-actions button { width:30px; height:30px; display:inline-flex; align-items:center; justify-content:center; padding:0 !important; border:1px solid #ffffff30 !important; border-radius:50% !important; background:rgba(15,23,42,.55) !important; color:#fff; backdrop-filter:blur(8px); }
.drive-photo-card .drive-actions button svg { stroke:currentColor; }
.drive-photo-card .drive-actions button[title="Supprimer"] { color:#fda4af; }
.drive-photo-card .drive-actions button:hover { background:rgba(15,23,42,.9) !important; }
.drive-photo-card .drive-actions button:focus-visible { outline:2px solid #5eead4; outline-offset:2px; }
.drive-preview-trigger:focus-visible { outline:3px solid var(--green); outline-offset:-3px; }
@media (hover:none) {
  .drive-grid { grid-template-columns:repeat(auto-fill,minmax(150px,1fr)) !important; }
  .drive-photo-card .drive-select-label { opacity:1; }
  .drive-grid .drive-photo-card .drive-actions { position:absolute !important; top:.3rem !important; bottom:auto; left:auto; right:.3rem; }
  .drive-photo-card .drive-actions button { min-width:36px; min-height:36px; }
}
