/* SavvyGreat clean photographic camera experience
   20260815-snapic-camera-experience-1 */

/* While the camera is live, the body-level camera surface is the only visible
   action owner. Existing authoritative controls stay in the DOM for delegation. */
.sgsnapic-page.is-sgsnapic-pro-live .sgsnapic-camera-controls,
.sgsnapic-page.is-sgsnapic-pro-live .sgsnapic-camera-modebar,
.sgsnapic-page.is-sgsnapic-pro-live .sgsnapic-camera-cancel {
    display: none !important;
}

.sgsnapic-page.is-sgsnapic-pro-live .sgsnapic-stage video {
    filter: none !important;
    object-position: center center !important;
}

/* Give the compact top controls clear space while preserving the photographic
   profile chips and level/orientation information below them. */
.sgsnapic-page.is-sgsnapic-pro-live .sgsnapic-pro-topbar {
    padding-top: calc(62px + env(safe-area-inset-top)) !important;
    background: linear-gradient(to bottom, rgba(0,0,0,.54), rgba(0,0,0,.16) 74%, transparent) !important;
}

.sgsnapic-page.is-sgsnapic-pro-live .sgsnapic-pro-profile {
    margin-bottom: 6px !important;
    padding-left: 54px;
    padding-right: 54px;
    justify-content: center;
}

.sgsnapic-page.is-sgsnapic-pro-live .sgsnapic-pro-profile strong {
    display: none !important;
}

.sgsnapic-page.is-sgsnapic-pro-live .sgsnapic-pro-modes {
    max-width: min(820px, calc(100vw - 24px));
    margin: 0 auto;
}

/* Selfie and Group are full-frame modes. The guide becomes the complete camera
   viewport instead of a face/portrait crop, so the exact-frame saver receives
   the whole on-screen camera region. */
.sgsnapic-page[data-sgsnapic-camera-framing="full"].is-sgsnapic-pro-live
.sgsnapic-pro-guide {
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    transform: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.sgsnapic-page[data-sgsnapic-camera-framing="full"].is-sgsnapic-pro-live
.sgsnapic-pro-guide[data-guide="face"] {
    width: 100% !important;
    max-height: none !important;
    border-radius: 0 !important;
}

.sgsnapic-page[data-sgsnapic-camera-framing="full"].is-sgsnapic-pro-live
.sgsnapic-pro-guide::before,
.sgsnapic-page[data-sgsnapic-camera-framing="full"].is-sgsnapic-pro-live
.sgsnapic-pro-guide::after {
    opacity: .42;
}

.sgsnapic-page[data-sgsnapic-camera-framing="full"].is-sgsnapic-pro-live
.sgsnapic-pro-guide-center {
    opacity: .5;
}

/* Move quality/angle telemetry away from top control clusters. */
.sgsnapic-page.is-sgsnapic-pro-live .sgsnapic-pro-quality {
    top: calc(156px + env(safe-area-inset-top)) !important;
    right: max(8px, env(safe-area-inset-right)) !important;
    max-width: 150px !important;
}

.sgsnapic-page.is-sgsnapic-pro-live .sgsnapic-frame-angle-control {
    top: calc(156px + env(safe-area-inset-top)) !important;
    left: max(10px, env(safe-area-inset-left)) !important;
    right: auto !important;
}

/* Keep the full-range slider accessible without competing with the shutter. */
.sgsnapic-page.is-sgsnapic-pro-live .sgsnapic-pro-zoom {
    right: max(6px, env(safe-area-inset-right)) !important;
    top: 52% !important;
}

.sgsnapic-camera-focus-ring {
    position: absolute;
    z-index: 2147483195;
    width: 58px;
    height: 58px;
    margin: -29px 0 0 -29px;
    border: 2px solid rgba(255,220,70,.96);
    border-radius: 12px;
    box-shadow: 0 0 0 1px rgba(0,0,0,.45), 0 0 18px rgba(255,220,70,.28);
    opacity: 0;
    transform: scale(1.35);
    pointer-events: none;
    transition: opacity .16s ease, transform .2s ease, border-color .16s ease;
}

.sgsnapic-camera-focus-ring.is-visible {
    opacity: 1;
    transform: scale(1);
}

.sgsnapic-camera-focus-ring[data-state="locked"] {
    border-color: rgba(126,255,165,.98);
    box-shadow: 0 0 0 1px rgba(0,0,0,.45), 0 0 18px rgba(126,255,165,.26);
}

.sgsnapic-camera-focus-ring[data-state="unsupported"] {
    border-color: rgba(255,255,255,.7);
}

@media (max-width: 640px) {
    .sgsnapic-page.is-sgsnapic-pro-live .sgsnapic-pro-topbar {
        padding-top: calc(58px + env(safe-area-inset-top)) !important;
    }

    .sgsnapic-page.is-sgsnapic-pro-live .sgsnapic-pro-profile {
        padding-left: 44px;
        padding-right: 44px;
    }

    .sgsnapic-page.is-sgsnapic-pro-live .sgsnapic-pro-quality,
    .sgsnapic-page.is-sgsnapic-pro-live .sgsnapic-frame-angle-control {
        top: calc(142px + env(safe-area-inset-top)) !important;
    }

    .sgsnapic-page.is-sgsnapic-pro-live .sgsnapic-pro-zoom {
        right: -31px !important;
        top: 50% !important;
    }
}

@media (orientation: landscape) and (max-height: 520px) {
    .sgsnapic-page.is-sgsnapic-pro-live .sgsnapic-pro-topbar {
        padding-top: calc(48px + env(safe-area-inset-top)) !important;
    }

    .sgsnapic-page.is-sgsnapic-pro-live .sgsnapic-pro-profile {
        display: none !important;
    }

    .sgsnapic-page.is-sgsnapic-pro-live .sgsnapic-pro-modes {
        max-width: min(720px, calc(100vw - 180px));
    }

    .sgsnapic-page.is-sgsnapic-pro-live .sgsnapic-pro-quality {
        display: none !important;
    }

    .sgsnapic-page.is-sgsnapic-pro-live .sgsnapic-frame-angle-control {
        top: calc(54px + env(safe-area-inset-top)) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sgsnapic-camera-focus-ring {
        transition: none !important;
    }
}
