/* Galerie privée — couleurs et motifs du mariage. */
.photo-page{min-height:100vh;background:var(--bg-cream);color:var(--choco)}.photo-shell{max-width:1200px;margin:0 auto;padding-left:24px;padding-right:24px}.photo-header-inner{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:28px;padding-bottom:30px;color:var(--ivory-warm)}.photo-header h1{font-size:42px}.photo-header nav{display:flex;align-items:center;flex-wrap:wrap;gap:18px;font-size:14px}.photo-header nav a:hover,.photo-back:hover{text-decoration:underline}.photo-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.19em;color:var(--kente-orange);font-weight:600}.photo-header .photo-eyebrow{color:var(--kente-gold)}.photo-main{padding-top:42px;padding-bottom:64px}.photo-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;margin:18px 0 30px}.photo-heading h2,.photo-login h2{font-family:Georgia,serif;font-size:clamp(28px,4vw,40px);line-height:1.2;margin:10px 0 12px}.photo-muted{color:var(--choco-mid);font-size:14px;line-height:1.7}.photo-button{padding:12px 22px;border-radius:9px;justify-content:center;font-size:14px;cursor:pointer}.photo-button:disabled{opacity:.55;cursor:wait}.photo-badge{display:inline-block;padding:6px 13px;border-radius:30px;background:#f2e6d3;font-size:12px}.album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.album-card{overflow:hidden;display:block;transition:transform .2s}.album-card:hover{transform:translateY(-4px)}.album-cover{aspect-ratio:4/3;background:#eee2d1;position:relative;display:flex;align-items:center;justify-content:center;font-size:70px;color:#b99c78}.album-cover img{width:100%;height:100%;object-fit:cover}.album-status{position:absolute;top:14px;left:14px;background:#fff9ef;color:var(--choco)}.is-published{background:#e4f0dc;color:#315b27}.album-body{padding:23px}.album-body h3{font-family:Georgia,serif;font-size:24px;margin:9px 0}.album-link{display:block;color:var(--kente-orange);font-size:13px;font-weight:600;margin-top:22px}.photo-empty{grid-column:1/-1;padding:56px 24px;text-align:center;width:100%;color:var(--choco-mid)}.photo-empty h3{font-family:Georgia,serif;font-size:26px;color:var(--choco);margin-bottom:12px}.photo-empty p{max-width:520px;margin:auto;font-size:14px;line-height:1.8}.photo-empty-icon{font-size:46px;display:block;margin-bottom:15px;color:var(--kente-orange)}.photo-access{padding:22px 26px;margin-bottom:30px}.photo-access summary{cursor:pointer;font-weight:600}.photo-access-grid,.photo-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.photo-access-grid{margin-top:25px}.photo-url{font-size:13px;overflow-wrap:anywhere;color:var(--kente-orange);text-decoration:underline}.photo-panel{padding:28px;margin:20px 0}.photo-panel h3,.photo-access h3,.photo-heading h3{font-family:Georgia,serif;font-size:22px;margin-bottom:12px}.photo-form{display:flex;flex-direction:column;gap:17px;margin-top:20px}.photo-form label{font-size:14px;display:flex;flex-direction:column;gap:8px}.photo-form .form-input{width:100%;min-height:44px}.photo-form textarea{resize:vertical}.photo-form select{background:var(--bg-cream)}.photo-back{font-size:14px;color:var(--choco-mid)}.photo-drop{border:2px dashed #d5b994;border-radius:12px;padding:24px;background:#fffcf6}.photo-drop input{width:100%;font-size:12px;padding:12px 0}.photo-form progress{width:100%;accent-color:var(--kente-orange)}.photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.photo-tile{overflow:hidden}.photo-tile img{width:100%;aspect-ratio:1;object-fit:cover}.photo-tile-body{padding:14px}.photo-tile-body>p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--choco-mid)}.photo-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;font-size:12px}.photo-danger,.photo-error{color:#a02f20}.photo-delete{margin-top:45px;border:1px solid #e0c4b4;border-radius:12px}.photo-delete p{margin:20px 0;font-size:14px}.photo-pagination{margin-top:28px}.photo-login{max-width:470px;padding:36px;margin:35px auto}.photo-pin{letter-spacing:.35em;text-align:center;font-size:22px;font-variant-numeric:tabular-nums}.photo-notice{padding:16px;background:#fff0e9;border:1px solid #e2b3a3;border-radius:10px;margin-bottom:24px}.photo-description{white-space:pre-line;max-width:760px;color:var(--choco-mid);line-height:1.8}.photo-gallery{columns:3;column-gap:20px}.gallery-item{display:block;width:100%;margin-bottom:20px;overflow:hidden;border-radius:12px;background:#eee2d1;cursor:zoom-in}.gallery-item img{display:block;width:100%;height:auto;transition:transform .3s}.gallery-item:hover img{transform:scale(1.025)}#photo-lightbox{position:fixed;inset:0;margin:auto;width:96vw;height:94vh;max-width:none;max-height:none;background:#201712;color:white;border:0;border-radius:14px;padding:45px 65px}#photo-lightbox::backdrop{background:rgba(15,10,6,.92)}#photo-lightbox img{width:100%;height:calc(100% - 32px);object-fit:contain}#photo-lightbox button{position:absolute;background:#49382a;border-radius:50%;width:40px;height:40px;font-size:28px;z-index:1}#lightbox-close{right:15px;top:12px;font-size:18px!important}#lightbox-prev{left:12px;top:48%}#lightbox-next{right:12px;top:48%}#lightbox-caption{text-align:center;font-size:12px;margin-top:12px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--kente-orange);outline-offset:4px}@media(max-width:850px){.album-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.photo-header-inner{align-items:flex-start;flex-direction:column}.photo-access-grid,.photo-editor-grid{grid-template-columns:1fr}.photo-gallery{columns:2}}@media(max-width:520px){.photo-shell{padding-left:18px;padding-right:18px}.album-grid{grid-template-columns:1fr}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.photo-panel,.photo-login{padding:22px}.photo-header h1{font-size:36px}.photo-gallery{column-gap:12px}.gallery-item{margin-bottom:12px}.photo-main{padding-top:24px}#photo-lightbox{padding:50px 12px}.photo-actions{font-size:11px}}.album-card a{display:block;color:inherit;text-decoration:none}.album-publish{padding:0 23px 20px}.album-publish button{width:100%;min-height:40px;border:1px solid rgba(42,22,12,.12);border-radius:9px;background:#fff9ef;color:var(--choco);font-size:13px;font-weight:600;cursor:pointer}.album-cover video,.photo-tile video,.gallery-item video,.media-thumb img,.media-thumb video{width:100%;height:100%;object-fit:cover;display:block}.photo-tile video,.photo-tile .media-thumb,.photo-tile .media-thumb img,.photo-tile .media-thumb video{aspect-ratio:1}.gallery-item video,.gallery-item .media-thumb img,.gallery-item .media-thumb video{min-height:180px;aspect-ratio:auto}.media-thumb{position:relative;display:block;width:100%;background:#1c1612}.album-cover .media-thumb{width:100%;height:100%;aspect-ratio:auto}.media-play{position:absolute;right:12px;bottom:12px;width:36px;height:36px;border-radius:50%;background:#201712cc;color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;pointer-events:none}.media-file{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;background:#eee2d1;font-size:42px;color:var(--kente-orange)}.gallery-item{position:relative}#lightbox-video{width:100%;height:calc(100% - 32px);object-fit:contain;background:#000}#lightbox-image[hidden],#lightbox-video[hidden]{display:none!important}
.photo-preview-button{display:block;width:100%;padding:0;border:0;background:#eee2d1;cursor:zoom-in;text-align:inherit}.photo-modal-open{overflow:hidden}#photo-lightbox{height:94dvh;padding-bottom:76px}#lightbox-caption{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#lightbox-original{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);color:#fff;text-decoration:underline;font-size:13px;white-space:nowrap}#lightbox-status{position:absolute;bottom:54px;left:65px;right:65px;text-align:center;font-size:12px;background:#201712e6;border-radius:6px;padding:6px}#photo-lightbox [hidden]{display:none!important}@media(max-width:520px){#photo-lightbox{width:100vw;height:100dvh;border-radius:0;padding:54px 12px 84px}#lightbox-status{left:16px;right:16px}#photo-lightbox button{min-width:44px;min-height:44px}}
#lightbox-original{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;background:#fff9ef;color:#38251b;border-radius:8px;font-weight:600;text-decoration:none}#lightbox-original:hover{background:#f2e6d3}#lightbox-image{touch-action:pan-y pinch-zoom}#photo-lightbox #lightbox-prev,#photo-lightbox #lightbox-next{background:#201712d9;border:1px solid #ffffff80;box-shadow:0 2px 12px #0005}
.photo-downloads{padding:20px;margin:0 0 24px}.photo-download-buttons,.photo-selection-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.photo-selection-actions{margin:14px 0;font-size:13px}.photo-selection-actions button{text-decoration:underline;min-height:36px}.photo-select{display:inline-flex;align-items:center;gap:8px;font-size:13px;cursor:pointer;min-height:40px}.photo-select input{width:18px;height:18px;accent-color:var(--kente-orange)}.photo-gallery-card{break-inside:avoid;margin-bottom:20px}.photo-gallery-card .gallery-item{margin-bottom:0}.photo-downloads button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:520px){.photo-download-buttons{align-items:stretch;flex-direction:column}}
