/* Touch-only layouts retain the existing swipe UI, even on wide tablets. */
.gallery-photo-navigation { display:none; }
@media (min-width:768px) and (any-hover:hover) and (any-pointer:fine) {
    .gallery-photo-navigation {
        display:block;
        position:absolute;
        z-index:7;
        top:50%;
        left:0;
        right:0;
        height:0;
        pointer-events:none;
    }
    .gallery-photo-arrow {
        position:absolute;
        top:0;
        width:52px;
        height:52px;
        display:grid;
        place-items:center;
        padding:0;
        border:1px solid rgba(255,246,232,.65);
        border-radius:50%;
        background:rgba(14,36,27,.8);
        color:#fff6e8;
        box-shadow:0 2px 12px rgba(0,0,0,.3);
        transform:translateY(-50%);
        cursor:pointer;
        pointer-events:auto;
        touch-action:manipulation;
        transition:background .15s ease, opacity .15s ease;
    }
    /* Leave the right-hand camp scrubber free, with balanced left spacing. */
    .gallery-photo-arrow.is-previous { left:max(64px,calc(env(safe-area-inset-left) + 56px)); }
    .gallery-photo-arrow.is-next { right:max(64px,calc(env(safe-area-inset-right) + 56px)); }
    .gallery-photo-arrow svg { width:26px; height:26px; }
    .gallery-photo-arrow path { fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
    .gallery-photo-arrow:hover:not(:disabled) { background:#173f32; border-color:#ffd16b; }
    .gallery-photo-arrow:focus-visible { outline:3px solid #ffd16b; outline-offset:4px; }
    .gallery-photo-arrow:disabled { opacity:.28; cursor:default; }
}
@media (prefers-reduced-motion:reduce) {
    .gallery-photo-arrow { transition:none; }
}
