/* Homepage photo viewer. Gallery keeps its existing independent stylesheet. */
.home-page .home-lightbox {
  height:100vh; height:100dvh; padding:0; display:grid;
  grid-template-rows:auto minmax(0,1fr) auto; place-items:stretch;
  background:#180f0a; color:#fff8f1; overscroll-behavior:contain;
  transition:opacity .18s ease,visibility .18s ease;
}
.home-page .home-lightbox [hidden] { display:none!important; }
.home-lightbox__topbar { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:56px; padding:max(4px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) 4px max(16px,env(safe-area-inset-left)); }
.home-lightbox__label { display:grid; gap:2px; min-width:0; }
.home-lightbox [data-lightbox-title] { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; font-weight:700; }
.home-lightbox [data-lightbox-count] { color:#e8d8ca; font-size:12px; font-variant-numeric:tabular-nums; }
.home-page .home-lightbox .home-lightbox__icon {
  position:static; display:inline-flex; align-items:center; justify-content:center; flex:0 0 44px;
  width:44px; min-width:44px; height:44px; min-height:44px; padding:0;
  border:0; border-radius:50%; transform:none; background:transparent; color:#fff8f1; cursor:pointer;
}
.home-lightbox svg { width:22px; height:22px; pointer-events:none; flex-shrink:0; }
.home-page .home-lightbox figure { position:relative; display:flex; align-items:center; justify-content:center; min-width:0; min-height:0; width:100%; height:100%; margin:0; }
.home-page .home-lightbox img { display:block; width:auto; height:auto; max-width:100%; max-height:100%; object-fit:contain; border-radius:0; transform:none; transition:none; touch-action:pan-y pinch-zoom; user-select:none; -webkit-user-drag:none; }
.home-lightbox__feedback { position:absolute; bottom:12px; left:16px; right:16px; display:grid; justify-items:center; gap:8px; text-align:center; pointer-events:none; }
.home-lightbox__feedback p { max-width:420px; padding:8px 12px; background:#180f0a; color:#fff8f1; font-size:14px; }
.home-lightbox [data-lightbox-retry] { pointer-events:auto; min-height:44px; padding:8px 16px; border:1px solid #e8d8ca; border-radius:6px; background:#180f0a; color:#fff8f1; font-size:15px; cursor:pointer; }
.home-lightbox__controls { display:flex; justify-content:center; align-items:center; gap:24px; padding:8px max(12px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left)); }
.home-lightbox__contact { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:0 20px; border-radius:6px; background:#fff3e5; color:#6b3023; font-size:15px; font-weight:700; text-decoration:none; }
.home-lightbox__contact { border:0; font-family:var(--sans); cursor:pointer; }
.home-lightbox .lightbox-contact-panel { position:absolute; z-index:2; bottom:calc(72px + env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%); width:min(350px,calc(100% - 24px)); max-height:calc(100% - 140px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); overflow-y:auto; padding:8px 12px; border-radius:12px; background:#fff3e5; color:#6b3023; box-shadow:0 8px 32px #0006; }
.lightbox-contact-panel__head { display:flex; align-items:center; justify-content:space-between; padding-left:8px; font-size:16px; }
.home-lightbox .lightbox-contact-panel__head .home-lightbox__icon { color:#6b3023; }
.home-lightbox .lightbox-channel { display:flex; align-items:center; gap:12px; min-height:68px; padding:12px 8px; border-top:1px solid #dbc4af; color:#6b3023; text-decoration:none; }
.home-lightbox .lightbox-channel img { flex:0 0 32px; width:32px; height:32px; max-width:32px; max-height:32px; object-fit:contain; }
.lightbox-channel > span { display:grid; flex:1; gap:2px; }
.lightbox-channel strong { font-size:16px; }
.lightbox-channel small { font-size:14px; }
.lightbox-contact-panel__footer { display:flex; justify-content:space-between; gap:8px; border-top:1px solid #dbc4af; }
.lightbox-contact-panel__footer button,.lightbox-contact-panel__footer a { display:inline-flex; align-items:center; min-height:44px; padding:4px 8px; border:0; border-radius:6px; background:transparent; color:#6b3023; font:600 13px var(--sans); cursor:pointer; text-decoration:none; transition:background-color 120ms ease-out; }
.lightbox-contact-panel__footer button:active,.lightbox-contact-panel__footer a:active { background:#efdfcf; }
.lightbox-contact-panel [data-contact-status]:not(:empty) { padding:4px 8px 8px; font-size:13px; }
.home-lightbox .lightbox-contact-panel :focus-visible { outline:2px solid #6b3023; outline-offset:-2px; }
.home-page .home-lightbox .home-lightbox__icon:disabled { opacity:.3; cursor:default; }
.home-page .home-lightbox .home-lightbox__icon:active:not(:disabled) { background:#49362a; }
.home-lightbox button:focus-visible,.home-lightbox a:focus-visible { outline:2px solid #ffd9ae; outline-offset:2px; }
.home-page.lightbox-open .floating-actions { visibility:hidden; }
@media(hover:hover) { .home-page .home-lightbox .home-lightbox__icon:not(:disabled):hover { background:#49362a; } .home-lightbox__contact:hover { background:#ffdfb7; } .home-lightbox .lightbox-channel:hover,.lightbox-contact-panel__footer button:hover,.lightbox-contact-panel__footer a:hover { background:#f5e3ce; } .home-lightbox .lightbox-contact-panel .home-lightbox__icon:not(:disabled):hover { background:#efdfcf; color:#6b3023; } }
@media(max-height:500px) and (orientation:landscape) { .home-lightbox__topbar { min-height:44px; padding-top:0; padding-bottom:0; } .home-lightbox__controls { padding-top:2px; padding-bottom:max(2px,env(safe-area-inset-bottom)); } }
@media(prefers-reduced-motion:reduce) { .home-page .home-lightbox { transition:none; } }
