/* CristalCleaningServices — cleaner profile gallery/lightbox
   Load only on resources/views/cleaners/show.blade.php via @push('head').
*/

body.cleaner-gallery-open{
    overflow:hidden;
}

.cleaner-gallery-cover-trigger,
.cleaner-gallery-thumb{
    appearance:none;
    -webkit-appearance:none;
    border:0;
    padding:0;
    margin:0;
    background:transparent;
    color:inherit;
    font:inherit;
    cursor:zoom-in;
}

.cleaner-gallery-cover-trigger{
    position:relative;
    display:block;
    width:100%;
    height:100%;
    overflow:hidden;
}

.cleaner-gallery-cover-trigger img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .24s ease;
}

.cleaner-gallery-cover-icon{
    position:absolute;
    right:14px;
    bottom:14px;
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border:1px solid rgba(255,255,255,.7);
    border-radius:13px;
    background:rgba(16,45,53,.78);
    color:#fff;
    box-shadow:0 8px 24px rgba(8,32,35,.18);
    backdrop-filter:blur(8px);
    font-size:18px;
    line-height:1;
    transition:transform .18s ease,background .18s ease;
}

.cleaner-gallery-cover-trigger:hover img{
    transform:scale(1.018);
}

.cleaner-gallery-cover-trigger:hover .cleaner-gallery-cover-icon{
    transform:translateY(-2px);
    background:rgba(16,45,53,.92);
}

.storefront-gallery .cleaner-gallery-thumb{
    position:relative;
    display:block;
    width:100%;
    overflow:hidden;
    border-radius:13px;
    background:#eef5f3;
}

.storefront-gallery .cleaner-gallery-thumb img{
    width:100%;
    aspect-ratio:1.15/1;
    height:auto;
    object-fit:cover;
    border-radius:inherit;
    transition:transform .22s ease,filter .22s ease;
}

.storefront-gallery .cleaner-gallery-thumb::after{
    content:"⛶";
    position:absolute;
    right:8px;
    bottom:8px;
    display:grid;
    place-items:center;
    width:30px;
    height:30px;
    border-radius:9px;
    background:rgba(16,45,53,.72);
    color:#fff;
    font-size:13px;
    opacity:0;
    transform:translateY(4px);
    transition:opacity .18s ease,transform .18s ease;
}

.storefront-gallery .cleaner-gallery-thumb:hover img{
    transform:scale(1.035);
    filter:brightness(.96);
}

.storefront-gallery .cleaner-gallery-thumb:hover::after{
    opacity:1;
    transform:none;
}

.cleaner-lightbox{
    position:fixed;
    inset:0;
    z-index:10050;
    display:none;
    background:rgba(5,18,21,.94);
    color:#fff;
    backdrop-filter:blur(12px);
}

.cleaner-lightbox.is-open{
    display:grid;
    grid-template-rows:auto minmax(0,1fr) auto;
}

.cleaner-lightbox-toolbar{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:16px;
    min-height:68px;
    padding:10px 18px;
}

.cleaner-lightbox-counter{
    justify-self:start;
    min-width:70px;
    color:rgba(255,255,255,.76);
    font-size:13px;
    font-weight:800;
}

.cleaner-lightbox-title{
    min-width:0;
    max-width:min(62vw,720px);
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#fff;
    font-size:14px;
    font-weight:800;
    text-align:center;
}

.cleaner-lightbox-close,
.cleaner-lightbox-nav{
    appearance:none;
    -webkit-appearance:none;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.18);
    background:rgba(255,255,255,.08);
    color:#fff;
    cursor:pointer;
    transition:background .15s ease,border-color .15s ease,transform .15s ease;
}

.cleaner-lightbox-close{
    justify-self:end;
    width:44px;
    height:44px;
    border-radius:14px;
    font-size:28px;
    line-height:1;
}

.cleaner-lightbox-close:hover,
.cleaner-lightbox-nav:hover{
    background:rgba(255,255,255,.16);
    border-color:rgba(255,255,255,.32);
}

.cleaner-lightbox-stage{
    position:relative;
    min-width:0;
    min-height:0;
    display:grid;
    grid-template-columns:76px minmax(0,1fr) 76px;
    align-items:center;
    gap:12px;
    padding:6px 16px 18px;
}

.cleaner-lightbox-nav{
    width:54px;
    height:54px;
    border-radius:17px;
    font-size:30px;
    line-height:1;
}

.cleaner-lightbox-prev{
    justify-self:center;
}

.cleaner-lightbox-next{
    justify-self:center;
}

.cleaner-lightbox-image-wrap{
    min-width:0;
    min-height:0;
    height:100%;
    display:grid;
    place-items:center;
}

.cleaner-lightbox-image{
    display:block;
    max-width:100%;
    max-height:calc(100vh - 170px);
    width:auto;
    height:auto;
    object-fit:contain;
    border-radius:16px;
    box-shadow:0 28px 80px rgba(0,0,0,.32);
    user-select:none;
    -webkit-user-drag:none;
}

.cleaner-lightbox-thumbs{
    display:flex;
    justify-content:center;
    gap:8px;
    max-width:100%;
    padding:10px 18px 18px;
    overflow-x:auto;
    scrollbar-width:thin;
}

.cleaner-lightbox-thumb{
    appearance:none;
    -webkit-appearance:none;
    flex:0 0 62px;
    width:62px;
    height:48px;
    padding:2px;
    overflow:hidden;
    border:2px solid transparent;
    border-radius:10px;
    background:rgba(255,255,255,.06);
    cursor:pointer;
    opacity:.56;
    transition:opacity .15s ease,border-color .15s ease,transform .15s ease;
}

.cleaner-lightbox-thumb img{
    width:100%;
    height:100%;
    border-radius:7px;
    object-fit:cover;
}

.cleaner-lightbox-thumb:hover{
    opacity:.9;
}

.cleaner-lightbox-thumb.is-active{
    opacity:1;
    border-color:#fff;
    transform:translateY(-1px);
}

.cleaner-lightbox-nav[hidden],
.cleaner-lightbox-thumbs[hidden]{
    display:none!important;
}

@media(max-width:700px){
    .cleaner-gallery-cover-icon{
        right:10px;
        bottom:10px;
        width:38px;
        height:38px;
        border-radius:12px;
    }

    .storefront-gallery .cleaner-gallery-thumb::after{
        opacity:1;
        transform:none;
        width:28px;
        height:28px;
    }

    .cleaner-lightbox-toolbar{
        grid-template-columns:auto minmax(0,1fr) auto;
        min-height:60px;
        padding:8px 10px;
    }

    .cleaner-lightbox-counter{
        min-width:52px;
        font-size:12px;
    }

    .cleaner-lightbox-title{
        max-width:none;
        font-size:12px;
    }

    .cleaner-lightbox-close{
        width:42px;
        height:42px;
    }

    .cleaner-lightbox-stage{
        grid-template-columns:48px minmax(0,1fr) 48px;
        gap:4px;
        padding:4px 4px 10px;
    }

    .cleaner-lightbox-nav{
        width:42px;
        height:52px;
        border-radius:13px;
        font-size:26px;
        background:rgba(255,255,255,.10);
    }

    .cleaner-lightbox-image{
        max-height:calc(100vh - 150px);
        border-radius:10px;
    }

    .cleaner-lightbox-thumbs{
        justify-content:flex-start;
        padding:8px 10px 12px;
    }

    .cleaner-lightbox-thumb{
        flex-basis:54px;
        width:54px;
        height:43px;
    }
}

@media(prefers-reduced-motion:reduce){
    .cleaner-gallery-cover-trigger img,
    .cleaner-gallery-cover-icon,
    .storefront-gallery .cleaner-gallery-thumb img,
    .storefront-gallery .cleaner-gallery-thumb::after,
    .cleaner-lightbox-close,
    .cleaner-lightbox-nav,
    .cleaner-lightbox-thumb{
        transition:none!important;
    }
}
