.drive-section{width:min(1100px,calc(100% - 2rem));margin:2rem auto;padding:1.5rem;border:1px solid #e3e3de;border-radius:16px;background:#fff}.drive-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:1.2rem}.drive-heading h2{margin:0;font:700 1.6rem 'Playfair Display',serif}.drive-heading p:last-child{margin:.25rem 0 0;color:#85868d;font-size:.8rem}.drive-upload{display:flex;align-items:center;justify-content:flex-end;gap:.6rem;flex-wrap:wrap}.drive-file-name{max-width:210px;overflow:hidden;color:#7d7e84;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.drive-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.drive-card{position:relative;overflow:hidden;border:1px solid #e5e5e0;border-radius:12px;background:#fafaf7}.drive-open{display:block;width:100%;padding:0;border:0;background:transparent;text-align:left}.drive-thumb{display:grid;place-items:center;aspect-ratio:16/10;overflow:hidden;background:#20212a;color:#d7ae63;font-size:3rem}.drive-thumb img{width:100%;height:100%;object-fit:cover}.drive-info{padding:.8rem 2.7rem .8rem .9rem}.drive-info strong,.drive-info small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drive-info strong{font-size:.82rem;color:#313238}.drive-info small{margin-top:.2rem;color:#8b8c92;font-size:.65rem}.drive-delete{position:absolute;right:.6rem;bottom:.75rem;display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:7px;background:#fff0f0;color:#c43d49}.drive-empty{padding:3rem;text-align:center;border:1px dashed #cccac2;border-radius:12px;color:#929399}.drive-empty i{font-size:2.5rem}.drive-viewer-modal .modal-content{overflow:hidden;border:1px solid #41434e;border-radius:15px;background:#15161d;color:#fff}.drive-viewer-modal .modal-header{align-items:flex-start;border-color:#363741}.drive-viewer-modal .modal-title{margin-top:.5rem;font:700 1.35rem 'Playfair Display',serif}.drive-viewer-modal .modal-body{display:grid;place-items:center;height:min(72vh,780px);padding:0;background:#090a0e}.drive-viewer-body img,.drive-viewer-body video{max-width:100%;max-height:100%}.drive-viewer-body iframe{width:100%;height:100%;border:0;background:#fff}.drive-viewer-modal .modal-footer{border-color:#363741}
@media(max-width:700px){.drive-heading{align-items:flex-start;flex-direction:column}.drive-upload{justify-content:flex-start}.drive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.drive-viewer-modal .modal-body{height:65vh}}

/* El visor ajusta la imagen completa por defecto y permite consultar sus píxeles reales. */
.drive-viewer-modal .drive-viewer-body{overflow:auto}
.event-attachment-field{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.35rem 1rem;padding:1rem;border:1px dashed #cbcbd8;border-radius:10px;background:#fff}.event-attachment-field strong,.event-attachment-field small{display:block}.event-attachment-field small{margin-top:.25rem;color:#85868d;font-size:.7rem;font-weight:400}.event-attachment-field>label{grid-column:2;grid-row:1;margin:0}.event-attachment-name{grid-column:1/-1;overflow:hidden;color:#777982;font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}@media(max-width:600px){.event-attachment-field{grid-template-columns:1fr}.event-attachment-field>label{grid-column:1;grid-row:auto;justify-self:start}}
.drive-viewer-body img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.drive-viewer-body.is-actual-size{display:block;text-align:center}
.drive-viewer-body.is-actual-size img{max-width:none;max-height:none}
.drive-empty small{display:block;margin-top:.35rem;color:#777982}
.drive-drop-zone{transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}
.drive-drop-zone.is-dragging{border-color:#b88a3b;background:#fff9eb;box-shadow:inset 0 0 0 2px rgba(184,138,59,.18)}
.drive-grid.is-dragging{padding:.75rem;border:2px dashed #b88a3b;border-radius:12px}
.drive-grid.is-scrollable{max-height:680px;padding-right:.55rem;overflow-x:hidden;overflow-y:auto;scrollbar-color:#b88a3b #ecebe6;scrollbar-width:thin}
.drive-grid.is-scrollable::-webkit-scrollbar{width:9px}
.drive-grid.is-scrollable::-webkit-scrollbar-track{border-radius:10px;background:#ecebe6}
.drive-grid.is-scrollable::-webkit-scrollbar-thumb{border:2px solid #ecebe6;border-radius:10px;background:#b88a3b}
@media(max-width:700px){.drive-grid.is-scrollable{max-height:70vh}}
.drive-upload{display:grid;grid-template-columns:max-content max-content;align-items:center;justify-content:end;gap:.4rem .6rem}
.drive-upload>label{grid-column:1;grid-row:1;margin:0}
.drive-upload>button[type="submit"]{grid-column:2;grid-row:1}
.drive-upload>.drive-file-name{grid-column:1/-1;grid-row:2;width:100%;max-width:none;text-align:right}
@media(max-width:700px){.drive-upload{justify-content:start}.drive-upload>.drive-file-name{text-align:left}}
.drive-thumb{position:relative}.drive-thumb img,.drive-thumb video{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:50% 50%}.drive-thumb video{pointer-events:none}.drive-video-play{position:relative;z-index:1;color:#fff;text-shadow:0 2px 10px #000;font-size:2.8rem}.drive-info{padding-right:4.5rem}.drive-drag-handle{position:absolute;right:2.75rem;bottom:.95rem;color:#a5a5ad;font-size:1.05rem;pointer-events:none}.drive-card[draggable="true"]{cursor:grab;transition:opacity .15s,transform .15s,border-color .15s}.drive-card[draggable="true"]:active{cursor:grabbing}.drive-card.is-dragging{opacity:.4;transform:scale(.97);border-style:dashed}.drive-grid.order-saved .drive-card{border-color:#87b99a}.drive-order-hint{display:flex;align-items:center;gap:.25rem;margin:-.4rem 0 .8rem;color:#8b8c93;font-size:.72rem}
.drive-card.is-removing{opacity:0;transform:scale(.88);pointer-events:none}
.drive-viewer-modal .modal-content{position:relative}.drive-gallery-nav{position:absolute;z-index:4;top:50%;display:grid;place-items:center;width:48px;height:48px;border:1px solid #ffffff40;border-radius:50%;background:#08090dcc;color:#fff;font-size:1.5rem;transform:translateY(-50%);transition:background .15s,transform .15s}.drive-gallery-nav:hover{background:#5856d6;transform:translateY(-50%) scale(1.06)}.drive-gallery-prev{left:1rem}.drive-gallery-next{right:1rem}.drive-gallery-nav[hidden]{display:none}@media(max-width:700px){.drive-gallery-nav{width:42px;height:42px}.drive-gallery-prev{left:.45rem}.drive-gallery-next{right:.45rem}}
