/* GalleryOlingo */

.og-container{max-width:1000px;margin:30px auto;box-sizing:border-box}
.og-container.og-wide,.og-container.og-view{max-width:1200px}
.og-container *{box-sizing:border-box}

/* Onglets */
.og-tabs{display:flex;gap:6px;border-bottom:2px solid #ddd;margin-bottom:20px;flex-wrap:wrap}
.og-tab{padding:10px 18px;text-decoration:none;color:#444;border-radius:6px 6px 0 0;font-weight:600;border:1px solid transparent;margin-bottom:-2px}
.og-tab:hover{background:#f3f4f6}
.og-tab.active{background:#fff;color:#2271b1;border-color:#ddd #ddd #fff}

/* Formulaires */
.og-card{background:#fff;border:1px solid #ddd;border-radius:8px;padding:30px;margin-bottom:30px}
.og-card h2{margin-top:0}
.og-field{margin-bottom:25px}
.og-field>label{display:block;font-weight:600;margin-bottom:8px}
.og-field input[type=text],.og-field input[type=date],.og-field input[type=datetime-local],.og-field select{width:100%;padding:10px 12px}
.og-hint{font-size:13px;color:#666;margin:8px 0 0}
.og-checks{display:flex;flex-wrap:wrap;gap:8px 18px}
.og-check{display:inline-flex;align-items:center;gap:6px;font-weight:400}

/* Boutons */
.og-btn{display:inline-block;border:1px solid #c3c4c7;background:#f6f7f7;color:#1d2327;padding:10px 18px;border-radius:5px;cursor:pointer;text-decoration:none;font-size:15px;line-height:1.3}
.og-btn:hover{background:#eef0f1;color:#1d2327}
.og-btn-primary{background:#2271b1;border-color:#2271b1;color:#fff}
.og-btn-primary:hover{background:#185a8f;color:#fff}
.og-danger{background:#b32d2e;border-color:#b32d2e;color:#fff}
.og-danger:hover{background:#8f2223;color:#fff}
.og-success{background:#16833b;border-color:#16833b;color:#fff}
.og-success:hover{background:#106a2f;color:#fff}
.og-small{padding:5px 10px;font-size:13px}
.og-btn[disabled]{opacity:.6;cursor:wait}
.og-buttons,.og-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.og-actions.og-top{margin:0 0 20px}

/* Messages */
.og-message{display:none;padding:15px;border-radius:5px;margin-bottom:20px}
.og-message.success,.og-message.error,.og-message.info,.og-message.warning{display:block}
.og-message.success{background:#d7f5df;color:#176b2c}
.og-message.error{background:#f8d7da;color:#842029}
.og-message.warning{background:#fff3cd;color:#856404}
.og-message.info{background:#dbeafe;color:#1e40af}

/* Envoi */
.og-drop{border:2px dashed #aaa;border-radius:8px;padding:24px;text-align:center;background:#fafafa}
.og-drop.over{border-color:#2271b1;background:#eef6fc}
.og-drop p{margin:6px 0}
.og-queue{list-style:none;margin:12px 0 0;padding:0;max-height:260px;overflow:auto}
.og-queue li{display:flex;gap:10px;align-items:center;padding:6px 10px;border-bottom:1px solid #eee;font-size:14px}
.og-queue .og-q-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.og-queue .og-q-size{color:#777;white-space:nowrap}
.og-queue .og-q-state{min-width:70px;text-align:right}
.og-queue li.done .og-q-state{color:#16833b}
.og-queue li.err .og-q-state{color:#b32d2e}
.og-queue .og-q-rm{border:0;background:none;cursor:pointer;font-size:18px;color:#777}
.og-progress{height:10px;background:#e5e7eb;border-radius:5px;overflow:hidden;margin-top:12px}
.og-progress>div{height:100%;width:0;background:#2271b1;transition:width .2s}
.og-existing{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;margin-top:10px}
.og-tile{position:relative;aspect-ratio:1/1;background:#222;border-radius:6px;overflow:hidden}
.og-tile img{width:100%;height:100%;object-fit:cover;display:block}
.og-tile-video{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#fff;font-size:26px;text-align:center;padding:4px}
.og-tile-video small{font-size:10px;word-break:break-all;opacity:.8}
.og-x{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;border:0;background:rgba(179,45,46,.92);color:#fff;cursor:pointer;line-height:1;font-size:16px}
.og-cover-box img{display:block;max-width:320px;width:100%;height:auto;border-radius:6px;margin-bottom:10px}

/* Tableau d'administration */
.og-table-wrap{overflow-x:auto}
.og-table{width:100%;border-collapse:collapse}
.og-table th,.og-table td{padding:12px;border-bottom:1px solid #ddd;text-align:left;vertical-align:top}
.og-table-inner{background:#fafafa}
.og-requests-cell{background:#f7f9fb}
.og-status{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px}
.og-status-publish{background:#d7f5df;color:#176b2c}
.og-status-draft{background:#eee;color:#555}
.og-status-pending{background:#fff3cd;color:#856404}
.og-status-private{background:#e2e3e5;color:#41464b}
.og-status-future{background:#dbeafe;color:#1e40af}

/* États */
.og-badges{display:flex;gap:6px;flex-wrap:wrap}
.og-badge{display:inline-block;padding:3px 9px;border-radius:12px;font-size:12px;background:#e8eef5;color:#234}
.og-state{display:inline-block;padding:8px 14px;border-radius:5px;font-size:14px}
.og-state-pending{background:#fff3cd;color:#856404}
.og-state-rejected{background:#f8d7da;color:#842029}
.og-state-accepted{background:#d7f5df;color:#176b2c}
.og-state-private{background:#e2e3e5;color:#41464b}

/* Page de sélection */
.og-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.og-chip{padding:5px 12px;border-radius:16px;background:#f0f1f3;color:#333;text-decoration:none;font-size:13px}
.og-chip.active{background:#2271b1;color:#fff}
.og-grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:24px}
.og-gal{background:#fff;border:1px solid #ddd;border-radius:10px;overflow:hidden;display:flex;flex-direction:column}
.og-gal-banner{position:relative;display:block;aspect-ratio:16/9;background:linear-gradient(135deg,#2a5d34,#1d3a5f);overflow:hidden}
.og-gal-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
a.og-gal-banner:hover img{transform:scale(1.03)}
.og-gal-overlay{position:absolute;left:0;right:0;bottom:0;padding:40px 16px 14px;display:flex;flex-direction:column;gap:2px;background:linear-gradient(to top,rgba(0,0,0,.75),rgba(0,0,0,0));color:#fff}
.og-gal-title{font-size:19px;font-weight:700;line-height:1.25}
.og-gal-date{font-size:13px;opacity:.9}
.og-gal-flag{position:absolute;top:10px;left:10px;background:rgba(0,0,0,.65);color:#fff;font-size:12px;padding:3px 8px;border-radius:4px}
.og-gal-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;flex-wrap:wrap;margin-top:auto}
.og-empty{padding:30px 0;color:#666}

/* Page indiv */
.og-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.og-meta{color:#666;font-size:14px}
.og-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.og-item{position:relative;margin:0;aspect-ratio:4/3;background:#222;border-radius:6px;overflow:hidden}
.og-item .og-open{display:block;width:100%;height:100%}
.og-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}
.og-item:hover img{transform:scale(1.04)}
.og-vid{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#fff;gap:6px;padding:8px;text-align:center}
.og-play{font-size:38px;line-height:1}
.og-vid small{font-size:11px;opacity:.75;word-break:break-all}
.og-item-dl{position:absolute;right:8px;bottom:8px;width:34px;height:34px;border-radius:50%;background:rgba(0,0,0,.65);color:#fff!important;text-decoration:none;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}
.og-item:hover .og-item-dl,.og-item:focus-within .og-item-dl{opacity:1}
@media (hover:none){.og-item-dl{opacity:1}}

/* Diaporama */
body.og-noscroll{overflow:hidden}
.og-lb{position:fixed;inset:0;z-index:999999;background:rgba(0,0,0,.94);display:flex;align-items:center;justify-content:center;color:#fff}
.og-lb-top{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:12px;padding:10px 14px;background:linear-gradient(to bottom,rgba(0,0,0,.7),rgba(0,0,0,0));z-index:2;font-size:14px}
.og-lb-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.8}
.og-lb-tools{display:flex;gap:6px}
.og-lb button,.og-lb a.og-lb-dl{background:rgba(255,255,255,.14);border:0;color:#fff;cursor:pointer;border-radius:6px;font-size:18px;min-width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:0 10px}
.og-lb button:hover,.og-lb a.og-lb-dl:hover{background:rgba(255,255,255,.28)}
.og-lb-stage{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:56px 70px}
.og-lb-stage img,.og-lb-stage video{max-width:100%;max-height:100%;object-fit:contain;display:block}
.og-lb-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;font-size:34px!important;height:64px!important}
.og-lb-prev{left:10px}
.og-lb-next{right:10px}
@media (max-width:600px){
    .og-card{padding:18px}
    .og-buttons{flex-direction:column;align-items:stretch}
    .og-grid-cards{grid-template-columns:1fr}
    .og-lb-stage{padding:56px 6px}
    .og-lb-nav{opacity:.7}
}

.og-section-title{margin:0 0 16px}
.og-container[id]{scroll-margin-top:80px}
