/*
 * FG Strefa Klienta 0.3.0
 * Styl celowo korzysta ze zmiennych i klas motywu Fotografia Łukasz Gruca 3.x:
 * --fg-bg, --fg-card, --fg-text, --fg-muted, --fg-line, --fg-accent,
 * --fg-blue, --fg-dark, --fg-radius, --fg-shadow.
 *
 * Nie modyfikuje plików motywu.
 */

.fgc-client-zone{
    --fg-bg:#eef7ff;
    --fg-bg-2:#f8fbfe;
    --fg-card:rgba(255,255,255,.86);
    --fg-text:#17212b;
    --fg-muted:#62717e;
    --fg-line:rgba(23,33,43,.10);
    --fg-accent:#ff6a00;
    --fg-blue:#79c8ff;
    --fg-dark:#121a22;
    --fg-radius:22px;
    --fg-shadow:0 18px 55px rgba(35,61,83,.11);

    color:var(--fg-text);
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.fgc-client-zone *{box-sizing:border-box}

.fgc-section{padding-top:20px}

/* Kategorie: dokładnie ten sam język wizualny co karty cennika/oferty */
.fgc-category-grid{align-items:stretch}

.fgc-category-card{
    display:flex;
    min-height:155px;
    flex-direction:column;
    padding:20px 24px;
    color:var(--fg-text);
    text-decoration:none;
    transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease;
    will-change:transform;
}

.fgc-category-card:hover{
    transform:translateY(-7px) scale(1.012);
    box-shadow:0 26px 54px rgba(23,34,45,.18);
    border-color:rgba(23,33,43,.16);
    background:rgba(255,255,255,.96);
}

.fgc-category-kicker{
    display:block;
    margin-bottom:8px;
    color:var(--fg-accent);
    font-size:11px;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.fgc-category-card h2{
    margin:0 0 8px;
    font-size:21px;
}

.fgc-category-count{
    display:block;
    margin-top:1px;
    color:var(--fg-muted);
    font-size:12px;
    font-weight:600;
    line-height:1.4;
}

.fgc-category-card p{
    margin:0 0 14px;
    color:var(--fg-muted);
    line-height:1.55;
    font-size:14px;
}

.fgc-category-link{
    display:inline-block;
    margin-top:auto;
    color:var(--fg-accent);
    font-size:13px;
    font-weight:800;
}

/* Nawigacja */
.fgc-nav-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:28px;
}

.fgc-back{
    color:var(--fg-muted);
    font-size:13px;
    font-weight:700;
    text-decoration:none;
}

.fgc-back:hover{color:var(--fg-accent)}

/* Kafelek bez okładki */
.fgc-cover-placeholder{
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    padding:26px;
    background:linear-gradient(135deg,#d7ebf8,#fff3e8);
    color:var(--fg-muted);
    text-align:center;
    font-size:12px;
    font-weight:700;
    letter-spacing:.10em;
    text-transform:uppercase;
}

/* Hasło */
.fgc-password-shell{
    width:min(100%,660px);
    margin:0 auto;
}

.fgc-password-shell>.fgc-back{
    display:inline-block;
    margin-bottom:18px;
}

.fgc-password-card{
    padding:34px;
}

.fgc-password-card h2{
    margin:8px 0 8px;
    font-size:clamp(30px,4vw,44px);
}

.fgc-password-card>p{
    margin:0 0 24px;
    color:var(--fg-muted);
    line-height:1.65;
}

.fgc-password-card form{
    display:grid;
    gap:10px;
}

.fgc-password-card label{
    font-size:13px;
    font-weight:700;
}

.fgc-password-card input[type=password]{
    width:100%;
    min-height:50px;
    padding:12px 13px;
    border:1px solid rgba(23,33,43,.14);
    border-radius:12px;
    outline:none;
    background:#fff;
    color:var(--fg-text);
}

.fgc-password-card input[type=password]:focus{
    border-color:#74bff0;
    box-shadow:0 0 0 3px rgba(116,191,240,.14);
}

.fgc-password-card .btn{
    width:100%;
    border:0;
    cursor:pointer;
}

.fgc-error{
    margin:0 0 16px;
    padding:12px 14px;
    border-radius:12px;
    background:#fff0ee;
    color:#9a3a30;
    font-size:13px;
}

/* Toolbar / muzyka */
.fgc-toolbar{
    align-items:center;
}

.fgc-audio-player{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    flex-wrap:wrap;
}

.fgc-music-button{
    cursor:pointer;
}

.fgc-music-button.is-playing{
    background:#ffe8d7;
    color:#9b4300;
    border-color:#ffc79c;
}

.fgc-volume-wrap{
    display:flex;
    align-items:center;
    gap:9px;
    min-height:46px;
    padding:0 16px;
    border:1px solid var(--fg-line);
    border-radius:999px;
    background:#fff;
    color:var(--fg-muted);
    font-size:12px;
    font-weight:700;
}

.fgc-volume-wrap input{
    width:110px;
    accent-color:var(--fg-accent);
}

/* Zdjęcia */
.fgc-photo-wrap{
    position:relative;
    margin:0 0 12px;
    break-inside:avoid;
}

.fgc-photo-wrap .gallery-item{
    margin-bottom:0;
}

.fgc-photo-download{
    position:absolute;
    right:10px;
    bottom:10px;
    z-index:3;
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:rgba(18,26,34,.88);
    color:#fff!important;
    text-decoration:none!important;
    font-size:18px;
    box-shadow:0 8px 18px rgba(0,0,0,.18);
    opacity:0;
    transform:translateY(4px);
    transition:.18s ease;
}

.fgc-photo-wrap:hover .fgc-photo-download{
    opacity:1;
    transform:none;
}

/* Lightbox korzysta z wyglądu motywu, ale ma własną logikę JS */
.fgc-lightbox.is-open{
    display:flex;
}

.fgc-lightbox-download{
    position:absolute;
    right:22px;
    bottom:18px;
    min-height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 18px;
    border-radius:999px;
    background:#fff;
    color:var(--fg-dark)!important;
    text-decoration:none!important;
    font-size:12px;
    font-weight:800;
}

@media(max-width:900px){
    .fgc-category-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:620px){
    .fgc-category-grid{grid-template-columns:1fr}
    .fgc-category-card{min-height:145px;padding:19px 20px}
    .fgc-nav-row{align-items:flex-start}
    .fgc-volume-wrap{width:100%;justify-content:center}
    .fgc-volume-wrap input{width:min(180px,45vw)}
    .fgc-photo-download{opacity:1;transform:none}
    .fgc-lightbox-download{right:50%;transform:translateX(50%)}
}

.fgc-category-card::before{
    display:none !important;
}

.fgc-category-card,
.fgc-client-zone .gallery-cover-card{
    box-shadow:
        0 12px 28px rgba(18,30,41,.085),
        0 2px 6px rgba(18,30,41,.04);
}

.fgc-category-card:hover,
.fgc-client-zone .gallery-cover-card:hover{
    box-shadow:
        0 22px 42px rgba(18,30,41,.14),
        -16px 18px 34px rgba(255,106,0,.16),
        -6px 24px 40px rgba(255,45,149,.13),
        7px 24px 40px rgba(120,87,255,.13),
        16px 18px 34px rgba(25,200,255,.16);
}

.fgc-client-zone .fg-visually-hidden-page-title,
.page-template-fgc-client-zone .fg-visually-hidden-page-title{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
}


/* 0.5.3 — niezależny, mobilny lightbox Strefy Klienta.
   Dialog jest przenoszony przez JS bezpośrednio pod <body>, dzięki czemu
   nie dziedziczy warstwy transformowanej .page-main z motywu. */
body.fgc-lightbox-open{
    overflow:hidden !important;
    touch-action:none;
}

.fgc-lightbox{
    position:fixed !important;
    inset:0 !important;
    z-index:2147482000 !important;
    display:none;
    width:100vw !important;
    height:100vh !important;
    height:100dvh !important;
    padding:24px 76px !important;
    align-items:center !important;
    justify-content:center !important;
    background:rgba(4,8,12,.96) !important;
    transform:none !important;
    animation:none !important;
    opacity:1 !important;
    visibility:visible !important;
}

.fgc-lightbox.is-open{
    display:flex !important;
}

.fgc-lightbox .fg-lightbox-stage{
    width:100%;
    height:100%;
    min-width:0;
    min-height:0;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden;
    pointer-events:none;
}

.fgc-lightbox [data-fgc-lightbox-img]{
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-width:min(92vw,1800px) !important;
    max-height:calc(100dvh - 80px) !important;
    object-fit:contain !important;
    object-position:center !important;
    margin:auto !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    filter:none !important;
}

.fgc-lightbox [data-fgc-lightbox-img].is-error{
    opacity:.25 !important;
}

.fgc-lightbox .fg-lightbox-close,
.fgc-lightbox .fg-lightbox-nav,
.fgc-lightbox .fg-lightbox-counter,
.fgc-lightbox .fgc-lightbox-download{
    z-index:4;
}

@media(max-width:620px){
    .fgc-lightbox{
        padding:58px 10px 58px !important;
    }

    .fgc-lightbox [data-fgc-lightbox-img]{
        max-width:calc(100vw - 20px) !important;
        max-height:calc(100dvh - 116px) !important;
    }

    .fgc-lightbox .fg-lightbox-nav{
        top:50% !important;
    }

    .fgc-lightbox .fg-lightbox-prev{
        left:6px !important;
    }

    .fgc-lightbox .fg-lightbox-next{
        right:6px !important;
    }

    .fgc-lightbox .fg-lightbox-close{
        top:8px !important;
        right:8px !important;
    }

    .fgc-lightbox .fgc-lightbox-download{
        bottom:9px !important;
    }
}


/* 0.5.4 — ładniejsze kafelki kategorii w Strefie Klienta */
.fgc-category-card{
    position:relative;
    overflow:hidden;
    min-height:172px;
    padding:22px 24px 20px;
    border:1px solid rgba(23,33,43,.08);
    border-radius:20px;
    background:
        radial-gradient(120px 80px at 100% 0%, rgba(121,200,255,.10), transparent 70%),
        radial-gradient(160px 90px at 0% 100%, rgba(255,106,0,.06), transparent 72%),
        linear-gradient(180deg, rgba(255,255,255,.97) 0%, rgba(255,255,255,.92) 100%);
    box-shadow:
        0 12px 30px rgba(18,30,41,.07),
        0 2px 6px rgba(18,30,41,.035);
}

.fgc-category-card::after{
    content:'';
    position:absolute;
    left:24px;
    right:24px;
    bottom:0;
    height:3px;
    border-radius:999px;
    background:linear-gradient(90deg, rgba(255,106,0,.55), rgba(121,200,255,.48));
    opacity:.32;
    transition:opacity .22s ease, transform .22s ease;
    transform:scaleX(.72);
    transform-origin:left center;
}

.fgc-category-card:hover{
    transform:translateY(-5px);
    border-color:rgba(255,106,0,.16);
    background:
        radial-gradient(120px 80px at 100% 0%, rgba(121,200,255,.12), transparent 70%),
        radial-gradient(160px 90px at 0% 100%, rgba(255,106,0,.07), transparent 72%),
        linear-gradient(180deg, rgba(255,255,255,.99) 0%, rgba(255,255,255,.95) 100%);
    box-shadow:
        0 18px 38px rgba(18,30,41,.10),
        0 8px 22px rgba(255,106,0,.08);
}

.fgc-category-card:hover::after{
    opacity:.62;
    transform:scaleX(1);
}

.fgc-category-kicker{
    margin-bottom:10px;
    font-size:10px;
    letter-spacing:.16em;
}

.fgc-category-card h2{
    margin:0 0 10px;
    max-width:calc(100% - 6px);
    font-size:24px;
    line-height:1.15;
}

.fgc-category-count{
    display:inline-flex;
    align-items:center;
    gap:7px;
    margin-top:0;
    color:#4e6271;
    font-size:12px;
    font-weight:700;
}

.fgc-category-count::before{
    content:'';
    width:8px;
    height:8px;
    border-radius:50%;
    background:linear-gradient(135deg, rgba(255,106,0,.85), rgba(121,200,255,.85));
    box-shadow:0 0 0 4px rgba(121,200,255,.08);
    flex:0 0 auto;
}

.fgc-category-link{
    display:inline-flex;
    align-items:center;
    gap:8px;
    align-self:flex-start;
    margin-top:auto;
    padding:10px 14px;
    border-radius:999px;
    background:rgba(255,106,0,.08);
    color:#de5c00;
    font-size:12px;
    font-weight:800;
    line-height:1;
    transition:background .22s ease, color .22s ease, transform .22s ease;
}

.fgc-category-link::after{
    content:'→';
    font-size:14px;
    line-height:1;
}

.fgc-category-card:hover .fgc-category-link{
    background:rgba(255,106,0,.12);
    color:#c65100;
    transform:translateX(2px);
}

@media(max-width:620px){
    .fgc-category-card{
        min-height:158px;
        padding:20px 18px 18px;
    }
    .fgc-category-card h2{
        font-size:21px;
    }
    .fgc-category-card::after{
        left:18px;
        right:18px;
    }
}


/* 0.5.6 — wyszukiwarka galerii na głównym ekranie Strefy Klienta */
.fgc-gallery-search-wrap{
    width:min(100%,720px);
    margin:-2px auto 30px;
}

.fgc-gallery-search{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:58px;
    padding:7px 8px 7px 18px;
    border:1px solid rgba(23,33,43,.10);
    border-radius:999px;
    background:rgba(255,255,255,.94);
    box-shadow:
        0 14px 36px rgba(35,61,83,.085),
        0 2px 7px rgba(35,61,83,.035);
    transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}

.fgc-gallery-search:focus-within{
    border-color:rgba(121,200,255,.65);
    box-shadow:
        0 0 0 4px rgba(121,200,255,.10),
        0 16px 38px rgba(35,61,83,.10);
    transform:translateY(-1px);
}

.fgc-gallery-search-icon{
    width:22px;
    height:22px;
    display:grid;
    place-items:center;
    flex:0 0 auto;
    color:#61717e;
}

.fgc-gallery-search-icon svg{
    width:20px;
    height:20px;
    fill:currentColor;
}

.fgc-gallery-search input[type=search]{
    min-width:0;
    flex:1 1 auto;
    height:42px;
    padding:0;
    border:0!important;
    outline:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:var(--fg-text);
    font-size:14px;
    font-weight:600;
    appearance:none;
}

.fgc-gallery-search input[type=search]::-webkit-search-cancel-button{
    opacity:.48;
}

.fgc-gallery-search input[type=search]::placeholder{
    color:#8b98a2;
    font-weight:500;
}

.fgc-gallery-search button{
    min-height:42px;
    padding:0 21px;
    border:0;
    border-radius:999px;
    background:var(--fg-dark);
    color:#fff;
    font-size:12px;
    font-weight:800;
    cursor:pointer;
    transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}

.fgc-gallery-search button:hover{
    transform:translateY(-1px);
    background:#1d2933;
    box-shadow:0 8px 18px rgba(18,26,34,.16);
}

.fgc-gallery-search-hint{
    margin:9px 20px 0;
    color:#83909a;
    text-align:center;
    font-size:11px;
    line-height:1.45;
}

.fgc-search-results{
    margin-top:14px;
    padding:10px;
    border:1px solid rgba(23,33,43,.09);
    border-radius:18px;
    background:rgba(255,255,255,.93);
    box-shadow:0 12px 30px rgba(35,61,83,.07);
}

.fgc-search-results-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:4px 8px 9px;
    color:var(--fg-text);
    font-size:12px;
}

.fgc-search-results-head span{
    color:#8a969f;
    font-size:10px;
    font-weight:600;
}

.fgc-search-result{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    min-height:58px;
    padding:10px 12px;
    border-radius:12px;
    color:var(--fg-text);
    text-decoration:none;
    transition:background .18s ease,transform .18s ease;
}

.fgc-search-result + .fgc-search-result{
    border-top:1px solid rgba(23,33,43,.065);
}

.fgc-search-result:hover{
    background:#f7fbfe;
    transform:translateX(2px);
}

.fgc-search-result-main{
    display:grid;
    gap:3px;
}

.fgc-search-result-main strong{
    font-size:13px;
}

.fgc-search-result-main small{
    color:var(--fg-muted);
    font-size:11px;
}

.fgc-search-result-open{
    flex:0 0 auto;
    color:var(--fg-accent);
    font-size:11px;
    font-weight:800;
}

.fgc-search-feedback{
    margin-top:12px;
    padding:12px 14px;
    border:1px solid rgba(23,33,43,.08);
    border-radius:13px;
    background:rgba(255,255,255,.78);
    color:#667580;
    text-align:center;
    font-size:12px;
    line-height:1.5;
}

.fgc-search-feedback.is-info{
    background:#f6fbff;
}

.fgc-search-feedback.is-empty{
    background:#fffaf6;
}

@media(max-width:620px){
    .fgc-gallery-search-wrap{
        margin-bottom:24px;
    }

    .fgc-gallery-search{
        min-height:54px;
        padding:6px 6px 6px 14px;
        gap:8px;
    }

    .fgc-gallery-search-icon{
        width:20px;
        height:20px;
    }

    .fgc-gallery-search button{
        min-height:40px;
        padding:0 15px;
    }

    .fgc-gallery-search-hint{
        margin-inline:10px;
    }

    .fgc-search-results-head{
        align-items:flex-start;
        flex-direction:column;
        gap:2px;
    }

    .fgc-search-result{
        gap:10px;
    }
}


/* 0.5.7 — stan wyszukiwania na żywo */
.fgc-live-search-output{
    min-height:0;
}
.fgc-live-search-output.is-loading{
    opacity:.58;
}
.fgc-gallery-search button:disabled{
    cursor:wait;
    opacity:.68;
}


/* 0.5.8 — mniejsza, bardziej cukierkowa wyszukiwarka galerii */
.fgc-gallery-search-wrap{
    width:min(100%,620px);
    margin:-2px auto 28px;
}

.fgc-gallery-search-intro{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    flex-wrap:wrap;
    margin:0 0 11px;
    color:#6c7a86;
    text-align:center;
    font-size:12px;
    line-height:1.45;
}

.fgc-gallery-search-intro strong{
    color:#ff6a00;
    font-weight:800;
}

.fgc-gallery-search-intro span{
    color:#7d8a95;
    font-weight:600;
}

.fgc-gallery-search{
    min-height:52px;
    padding:6px 7px 6px 16px;
    border:1px solid rgba(255,106,0,.22);
    background:
        linear-gradient(135deg,#fff8f3 0%,#fffdfc 48%,#f5faff 100%);
    box-shadow:
        0 12px 28px rgba(35,61,83,.075),
        -10px 10px 24px rgba(255,106,0,.055),
        10px 10px 24px rgba(121,200,255,.065);
}

.fgc-gallery-search:focus-within{
    border-color:rgba(255,106,0,.38);
    box-shadow:
        0 0 0 4px rgba(255,106,0,.07),
        0 14px 30px rgba(35,61,83,.09),
        -10px 10px 24px rgba(255,106,0,.075),
        10px 10px 24px rgba(121,200,255,.085);
}

.fgc-gallery-search-icon{
    color:#ff7a2f;
}

.fgc-gallery-search input[type=search]{
    height:38px;
    font-size:13px;
}

.fgc-gallery-search input[type=search]::placeholder{
    color:#98a3ac;
}

.fgc-gallery-search button{
    min-height:40px;
    padding:0 18px;
    background:linear-gradient(135deg,#ff7a45 0%,#ff5f86 100%);
    box-shadow:0 7px 16px rgba(255,95,134,.17);
}

.fgc-gallery-search button:hover{
    background:linear-gradient(135deg,#ff6f35 0%,#f65078 100%);
    box-shadow:0 9px 20px rgba(255,95,134,.22);
}

.fgc-gallery-search-hint{
    margin-top:8px;
    color:#909ba4;
    font-size:10px;
}

@media(max-width:620px){
    .fgc-gallery-search-wrap{
        width:100%;
        margin-bottom:24px;
    }

    .fgc-gallery-search-intro{
        margin-bottom:9px;
        padding-inline:8px;
        font-size:11px;
    }

    .fgc-gallery-search{
        min-height:50px;
        padding-left:14px;
    }

    .fgc-gallery-search button{
        min-height:38px;
        padding:0 14px;
    }
}


/* 0.5.9 — prostszy nagłówek wyszukiwarki */
.fgc-gallery-search-intro{
    gap:0;
    margin:0 0 10px;
    color:#ff6a00;
    font-size:10px;
    font-weight:800;
    letter-spacing:.13em;
    text-transform:uppercase;
}

.fgc-gallery-search-intro strong{
    color:inherit;
    font-weight:800;
}

.fgc-gallery-search-intro span{
    display:none;
}


/* 0.5.10 — lżejszy główny nagłówek Strefy Klienta */
.fgc-client-zone .fgc-hero h1{
    font-size:clamp(42px,4.6vw,60px);
    font-weight:600;
    line-height:1.04;
    letter-spacing:-.035em;
}

@media(max-width:620px){
    .fgc-client-zone .fgc-hero h1{
        font-size:clamp(34px,10vw,46px);
        line-height:1.06;
    }
}


/* 0.6.0 — informacje o galerii i bezpieczne FULL RES */
.fgc-gallery-info{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 18px;padding:14px;border:1px solid rgba(23,33,43,.08);border-radius:18px;background:rgba(255,255,255,.78);box-shadow:0 10px 28px rgba(35,61,83,.055)}
.fgc-gallery-info>div{min-width:0;padding:8px 10px;border-radius:12px;background:rgba(247,251,254,.8)}
.fgc-gallery-info span{display:block;margin-bottom:3px;color:#7d8b96;font-size:9px;font-weight:800;letter-spacing:.10em;text-transform:uppercase}
.fgc-gallery-info strong{display:block;overflow:hidden;color:var(--fg-text);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.fgc-photo-download{font-weight:900}
@media(max-width:900px){.fgc-gallery-info{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.fgc-gallery-info{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px}.fgc-gallery-info>div:first-child{grid-column:1/-1}}


/* 0.6.1 — widoczne pobieranie całej galerii FULL RES */
.fgc-zip-download{display:inline-flex!important;align-items:center;gap:8px;text-decoration:none!important}
.fgc-zip-download span{opacity:.68;font-size:10px;font-weight:700;letter-spacing:.04em}
.fgc-zip-auto{display:inline-flex;align-items:center;gap:8px}
.fgc-zip-auto .btn:disabled{opacity:.72;cursor:wait}
.fgc-zip-auto-status{min-width:34px;color:var(--fg-muted);font-size:11px;font-weight:800}
@media(max-width:620px){
  .fgc-zip-auto,.fgc-zip-download{width:100%;justify-content:center}
}


/* 0.6.2 — przycisk ZIP ma być jednoznacznie widoczny */
.fgc-zip-auto{
    display:inline-flex!important;
    align-items:center;
    gap:10px;
}
.fgc-zip-auto [data-fgc-zip-button]{
    display:inline-flex;
    align-items:center;
    gap:8px;
}
.fgc-zip-auto [data-fgc-zip-button] span{
    opacity:.68;
    font-size:10px;
    font-weight:700;
    letter-spacing:.04em;
}
.fgc-zip-auto-status{
    white-space:nowrap;
}


/* 0.6.3 — naprawa fałszywego przycisku pobierania HTML */
.fgc-lightbox-download[hidden]{
    display:none!important;
}

/* ZIP ma własny, zawsze widoczny rząd nad zdjęciami. */
.fgc-download-all-row{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    margin:6px 0 22px;
}

.fgc-download-all-row .fgc-zip-auto,
.fgc-download-all-row .fgc-zip-download{
    max-width:100%;
}

@media(max-width:620px){
    .fgc-download-all-row{
        margin:4px 0 18px;
    }
    .fgc-download-all-row .fgc-zip-auto,
    .fgc-download-all-row .fgc-zip-download{
        width:100%;
    }
}


/* 0.6.4 — bardziej eleganckie podsumowanie galerii */
.fgc-gallery-info--clean{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    margin:0 0 16px;
    padding:18px 22px;
    border:1px solid rgba(23,33,43,.08);
    border-radius:20px;
    background:
        radial-gradient(160px 90px at 0% 0%,rgba(255,106,0,.055),transparent 72%),
        radial-gradient(180px 100px at 100% 100%,rgba(121,200,255,.075),transparent 72%),
        rgba(255,255,255,.94);
    box-shadow:
        0 12px 30px rgba(35,61,83,.065),
        0 2px 7px rgba(35,61,83,.025);
}

.fgc-gallery-info--clean > div{
    min-width:0;
    padding:0;
    background:transparent;
}

.fgc-gallery-info-main{
    display:grid;
    gap:4px;
}

.fgc-gallery-info-main > span{
    margin:0;
    color:#ff6a00;
    font-size:9px;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.fgc-gallery-info-main > strong{
    overflow:hidden;
    color:var(--fg-text);
    font-size:18px;
    font-weight:700;
    line-height:1.2;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.fgc-gallery-info-meta{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    flex-wrap:wrap;
}

.fgc-gallery-info-pill{
    display:inline-flex!important;
    align-items:center;
    min-height:32px;
    margin:0!important;
    padding:0 13px;
    border:1px solid rgba(23,33,43,.075);
    border-radius:999px;
    background:rgba(248,251,253,.96);
    color:#596a77!important;
    font-size:11px!important;
    font-weight:700!important;
    letter-spacing:0!important;
    text-transform:none!important;
    white-space:nowrap;
}

.fgc-download-all-row{
    margin:2px 0 22px;
}

.fgc-download-all-row .btn,
.fgc-download-all-row .fgc-zip-download{
    min-height:44px;
    padding:0 22px;
    border-radius:999px;
    font-size:12px;
    font-weight:800;
}

@media(max-width:620px){
    .fgc-gallery-info--clean{
        align-items:flex-start;
        flex-direction:column;
        gap:12px;
        padding:16px 17px;
        border-radius:17px;
    }

    .fgc-gallery-info-main > strong{
        font-size:17px;
        white-space:normal;
    }

    .fgc-gallery-info-meta{
        justify-content:flex-start;
    }

    .fgc-gallery-info-pill{
        min-height:30px;
        padding-inline:11px;
        font-size:10px!important;
    }
}



/* 0.6.17 — węższe i bardziej eleganckie kafelki galerii */
.fgc-gallery-card--info,
.fgc-gallery-card--download{
    max-width:980px;
    margin-left:auto;
    margin-right:auto;
}

.fgc-gallery-card--info{
    margin-bottom:12px;
    padding:0 18px;
}

.fgc-gallery-info-toggle{
    gap:14px;
    min-height:68px;
}

.fgc-gallery-info-title strong{
    font-size:17px;
}

.fgc-gallery-card--download{
    gap:18px;
    margin-bottom:22px;
    padding:12px 14px 12px 16px;
}

.fgc-gallery-download-copy strong{
    font-size:13px;
}

.fgc-gallery-card--download .btn,
.fgc-gallery-card--download .fgc-zip-download{
    min-height:40px;
    padding:0 18px;
    font-size:12px;
}

@media(max-width:1100px){
    .fgc-gallery-card--info,
    .fgc-gallery-card--download{
        max-width:100%;
    }
}

/* 0.6.16 — zwijane informacje o galerii + intuicyjne pobieranie */
.fgc-gallery-card{
    width:100%;
    border:1px solid rgba(23,33,43,.08);
    border-radius:20px;
    background:
        radial-gradient(170px 95px at 0% 0%,rgba(255,106,0,.055),transparent 72%),
        radial-gradient(190px 110px at 100% 100%,rgba(121,200,255,.075),transparent 72%),
        rgba(255,255,255,.95);
    box-shadow:
        0 12px 30px rgba(35,61,83,.065),
        0 2px 7px rgba(35,61,83,.025);
}

.fgc-gallery-card--info{
    margin:0 0 12px;
    padding:0 20px;
    overflow:hidden;
}

.fgc-gallery-info-toggle{
    width:100%;
    display:flex;
    align-items:center;
    gap:16px;
    min-height:78px;
    padding:0;
    border:0;
    background:transparent;
    color:var(--fg-text);
    text-align:left;
    cursor:pointer;
}

.fgc-gallery-info-toggle:focus-visible{
    outline:2px solid rgba(255,106,0,.48);
    outline-offset:4px;
    border-radius:12px;
}

.fgc-gallery-info-title{
    min-width:0;
    display:grid;
    gap:7px;
    flex:1 1 auto;
}

.fgc-gallery-info-title strong{
    overflow:hidden;
    color:var(--fg-text);
    font-size:19px;
    font-weight:750;
    line-height:1.2;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.fgc-gallery-info-more{
    display:inline-flex;
    align-items:center;
    gap:7px;
    width:max-content;
    color:#6e7c87;
    font-size:11px;
    font-weight:700;
    line-height:1;
    transition:color .18s ease;
}

.fgc-gallery-info-more-icon{
    width:19px;
    height:19px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,106,0,.25);
    border-radius:50%;
    background:#fff7f1;
    color:#ff6a00;
    font-family:Arial,sans-serif;
    font-size:11px;
    font-weight:800;
}

.fgc-gallery-info-toggle:hover .fgc-gallery-info-more{
    color:#ff6a00;
}

.fgc-gallery-info-chevron{
    width:32px;
    height:32px;
    display:grid;
    place-items:center;
    flex:0 0 auto;
    border-radius:50%;
    background:linear-gradient(135deg,#fff3e9,#eef8ff);
    color:#5d6d79;
    font-size:21px;
    font-weight:800;
    line-height:1;
    transition:transform .22s ease,background .18s ease;
}

.fgc-gallery-info-details{
    display:none;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    padding:0 0 18px;
}

.fgc-gallery-card--info.is-open .fgc-gallery-info-details{
    display:grid;
}

.fgc-gallery-card--info.is-open .fgc-gallery-info-chevron{
    transform:rotate(180deg);
}

.fgc-gallery-card--info.is-open .fgc-gallery-info-more > span:last-child::after{
    content:' — kliknij, aby ukryć';
    color:#9aa5ad;
    font-weight:600;
}

.fgc-gallery-info-detail{
    min-width:0;
    display:flex;
    align-items:center;
    gap:10px;
    padding:12px 13px;
    border:1px solid rgba(23,33,43,.06);
    border-radius:14px;
    background:rgba(248,251,253,.78);
}

.fgc-gallery-info-detail-icon{
    width:30px;
    height:30px;
    display:grid;
    place-items:center;
    flex:0 0 auto;
    border-radius:10px;
    background:linear-gradient(135deg,rgba(255,106,0,.10),rgba(121,200,255,.13));
    color:#647581;
    font-size:16px;
    font-weight:800;
}

.fgc-gallery-info-detail > span:last-child{
    min-width:0;
    display:grid;
    gap:2px;
}

.fgc-gallery-info-detail small{
    color:#8a969f;
    font-size:9px;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.fgc-gallery-info-detail strong{
    overflow:hidden;
    color:#35434d;
    font-size:12px;
    font-weight:750;
    text-overflow:ellipsis;
    white-space:nowrap;
}

/* Osobny kafelek pobierania */
.fgc-gallery-card--download{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin:0 0 22px;
    padding:14px 16px 14px 18px;
}

.fgc-gallery-download-copy{
    display:flex;
    align-items:center;
    gap:12px;
}

.fgc-gallery-download-copy > span:last-child{
    display:grid;
    gap:3px;
}

.fgc-gallery-download-copy small{
    color:#ff6a00;
    font-size:9px;
    font-weight:800;
    letter-spacing:.13em;
    text-transform:uppercase;
}

.fgc-gallery-download-copy strong{
    color:var(--fg-text);
    font-size:14px;
    font-weight:750;
}

.fgc-gallery-download-icon{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    flex:0 0 auto;
    border-radius:13px;
    background:linear-gradient(135deg,#fff2e8,#eef8ff);
    color:#ff6a00;
    font-size:19px;
    font-weight:900;
}

.fgc-gallery-download-action{
    flex:0 0 auto;
}

.fgc-gallery-card--download .fgc-zip-auto{
    display:flex!important;
    align-items:center;
    justify-content:flex-end;
    gap:9px;
}

.fgc-gallery-card--download .btn,
.fgc-gallery-card--download .fgc-zip-download{
    min-height:42px;
    padding:0 19px;
    border-radius:999px;
    white-space:nowrap;
}

@media(max-width:620px){
    .fgc-gallery-card{
        border-radius:17px;
    }

    .fgc-gallery-card--info{
        padding:0 16px;
    }

    .fgc-gallery-info-toggle{
        min-height:72px;
    }

    .fgc-gallery-info-title{
        gap:6px;
    }

    .fgc-gallery-info-title strong{
        font-size:16px;
        white-space:normal;
    }

    .fgc-gallery-info-more{
        font-size:10px;
    }

    .fgc-gallery-info-chevron{
        width:29px;
        height:29px;
        font-size:19px;
    }

    .fgc-gallery-info-details{
        grid-template-columns:1fr;
        gap:8px;
        padding:0 0 15px;
    }

    .fgc-gallery-card--info.is-open .fgc-gallery-info-more > span:last-child::after{
        content:'';
    }

    .fgc-gallery-card--download{
        align-items:stretch;
        flex-direction:column;
        gap:13px;
        padding:15px 16px 16px;
    }

    .fgc-gallery-download-copy strong{
        font-size:13px;
    }

    .fgc-gallery-download-action,
    .fgc-gallery-card--download .fgc-zip-auto,
    .fgc-gallery-card--download .fgc-zip-download,
    .fgc-gallery-card--download .btn{
        width:100%;
    }

    .fgc-gallery-card--download .fgc-zip-auto{
        align-items:stretch;
        flex-direction:column;
    }
}


/* 0.6.18 — kompaktowy tytuł galerii wyśrodkowany nad muzyką */
.fgc-gallery-card--info{
    width:min(620px, calc(100% - 32px));
    max-width:620px;
    margin:0 auto 14px;
    padding:0 18px;
    border-radius:18px;
}

.fgc-gallery-info-toggle{
    min-height:66px;
    justify-content:center;
    position:relative;
    padding:0 44px;
}

.fgc-gallery-info-title{
    flex:0 1 auto;
    justify-items:center;
    text-align:center;
}

.fgc-gallery-info-title strong{
    max-width:100%;
    font-size:18px;
    text-align:center;
}

.fgc-gallery-info-more{
    justify-content:center;
}

.fgc-gallery-info-chevron{
    position:absolute;
    right:0;
    top:50%;
    transform:translateY(-50%);
}

.fgc-gallery-card--info.is-open .fgc-gallery-info-chevron{
    transform:translateY(-50%) rotate(180deg);
}

.fgc-gallery-info-details{
    grid-template-columns:repeat(3,minmax(0,1fr));
    padding-bottom:16px;
}

/* muzyka ma pozostać dokładnie pod tytułem i być wizualnie wyśrodkowana */
.fgc-toolbar{
    display:flex;
    justify-content:center;
    align-items:center;
}

.fgc-audio-player{
    margin-left:auto;
    margin-right:auto;
}

@media(max-width:620px){
    .fgc-gallery-card--info{
        width:calc(100% - 20px);
        max-width:none;
        padding:0 14px;
        border-radius:16px;
    }

    .fgc-gallery-info-toggle{
        min-height:64px;
        padding:0 38px 0 8px;
    }

    .fgc-gallery-info-title strong{
        font-size:16px;
    }

    .fgc-gallery-info-details{
        grid-template-columns:1fr;
    }

    .fgc-gallery-info-chevron{
        right:2px;
    }
}


/* 0.6.19 — tytuł, muzyka i pobieranie w jednej wyśrodkowanej osi */
.fgc-gallery-card--info,
.fgc-gallery-card--download{
    width:min(620px, calc(100% - 32px));
    max-width:620px;
    margin-left:auto;
    margin-right:auto;
}

.fgc-gallery-card--download{
    justify-content:center;
    gap:18px;
    margin-top:2px;
    margin-bottom:24px;
    padding:12px 14px;
    border-radius:18px;
}

.fgc-gallery-download-copy{
    flex:0 1 auto;
}

.fgc-gallery-download-action{
    flex:0 0 auto;
}

.fgc-gallery-card--download .fgc-zip-download{
    min-height:40px;
    padding:0 18px;
    font-size:12px;
    font-weight:800;
}

@media(max-width:620px){
    .fgc-gallery-card--info,
    .fgc-gallery-card--download{
        width:calc(100% - 20px);
        max-width:none;
    }

    .fgc-gallery-card--download{
        align-items:stretch;
        flex-direction:column;
        gap:12px;
        padding:14px;
    }

    .fgc-gallery-download-copy{
        justify-content:center;
        text-align:left;
    }

    .fgc-gallery-download-action,
    .fgc-gallery-card--download .fgc-zip-download{
        width:100%;
    }
}


/* 0.6.23 — komunikat podczas przygotowywania paczki ZIP */
.fgc-zip-preparing{
  position:fixed;
  inset:0;
  z-index:100000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(12,18,24,.58);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .18s ease,visibility .18s ease;
}
.fgc-zip-preparing.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.fgc-zip-preparing-card{
  width:min(92vw,460px);
  padding:26px 24px 22px;
  border-radius:18px;
  background:#fff;
  color:#17212b;
  text-align:center;
  box-shadow:0 22px 70px rgba(0,0,0,.28);
}
.fgc-zip-preparing-card strong{
  display:block;
  margin-top:14px;
  font-size:20px;
  line-height:1.25;
}
.fgc-zip-preparing-card p{
  margin:10px auto 0;
  max-width:36em;
  color:#59636d;
  font-size:14px;
  line-height:1.55;
}
.fgc-zip-spinner{
  display:inline-block;
  width:38px;
  height:38px;
  border:4px solid rgba(23,33,43,.14);
  border-top-color:#17212b;
  border-radius:50%;
  animation:fgcZipSpin .8s linear infinite;
}
.fgc-zip-preparing-close{
  margin-top:18px;
  min-height:40px;
  padding:9px 16px;
  border:1px solid rgba(23,33,43,.18);
  border-radius:999px;
  background:#f7f8f9;
  color:#17212b;
  font:inherit;
  font-weight:700;
  cursor:pointer;
}
.fgc-zip-preparing-close:hover{background:#eef1f3}
@keyframes fgcZipSpin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.fgc-zip-spinner{animation-duration:1.8s}}
