.gpp-gallery-wrap{width:100%;max-width:1180px;margin:0 auto;padding:clamp(14px,2vw,28px) 0;box-sizing:border-box}.gpp-gallery-title-block h2,.gpp-gallery-header h2{margin:0 0 12px;font-size:clamp(1.5rem,2.2vw,2.4rem);line-height:1.1}.gpp-gallery-description{margin:0 0 22px;color:inherit;opacity:.82}.gpp-section-kicker{font-size:.82rem;text-transform:uppercase;letter-spacing:.16em;opacity:.65;margin:0 0 12px;font-weight:700}.gpp-gallery-index,.gpp-album-index{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(16px,2vw,26px)}.gpp-gallery-card,.gpp-album-card{display:block;text-decoration:none!important;color:inherit!important;border-radius:18px;overflow:hidden;background:color-mix(in srgb,currentColor 4%,transparent);box-shadow:0 18px 45px rgba(0,0,0,.10);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;border:1px solid rgba(0,0,0,.08)}.gpp-gallery-card:hover,.gpp-album-card:hover{transform:translateY(-4px);box-shadow:0 22px 55px rgba(0,0,0,.16)}.gpp-gallery-card-img,.gpp-album-card-img{display:block;position:relative;aspect-ratio:16/7;background:#ddd center/cover no-repeat;overflow:hidden}.gpp-album-card-img{aspect-ratio:4/3}.gpp-gallery-card-img:before,.gpp-album-card-img:before{content:"";position:absolute;inset:0;background:inherit;background-size:cover;background-position:center;transition:transform .45s ease}.gpp-gallery-card:hover .gpp-gallery-card-img:before,.gpp-album-card:hover .gpp-album-card-img:before{transform:scale(1.06)}.gpp-gallery-card-overlay,.gpp-album-card-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.45));opacity:0;transition:opacity .25s ease}.gpp-gallery-card:hover .gpp-gallery-card-overlay,.gpp-album-card:hover .gpp-album-card-overlay{opacity:1}.gpp-gallery-card-overlay span,.gpp-album-card-overlay span{display:inline-flex;padding:10px 18px;border-radius:999px;background:rgba(255,255,255,.92);color:#222;font-weight:700;font-size:.9rem}.gpp-gallery-card-body,.gpp-album-card-body{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;background:rgba(255,255,255,.76);backdrop-filter:blur(8px)}.gpp-gallery-card-body strong,.gpp-album-card-body strong{display:block;font-size:1.05rem;line-height:1.25}.gpp-gallery-card-body small,.gpp-album-card-body small{display:block;margin-top:3px;opacity:.65}.gpp-gallery-card-body em{font-style:normal;border:1px solid rgba(0,0,0,.16);border-radius:999px;padding:8px 14px;font-weight:700;font-size:.9rem;white-space:nowrap}.gpp-gallery-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.gpp-photographer-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none!important;border-radius:999px;padding:11px 18px;background:#25d366;color:#fff!important;font-weight:800;box-shadow:0 12px 28px rgba(37,211,102,.25);transition:transform .2s ease,filter .2s ease;white-space:nowrap}.gpp-photographer-button:hover{transform:translateY(-2px);filter:brightness(.98)}.gpp-photo-grid{display:grid;grid-template-columns:repeat(var(--gpp-columns,3),minmax(0,1fr));gap:clamp(10px,1.3vw,18px)}.gpp-photo-card{display:block;appearance:none;border:0;background:transparent;padding:0;margin:0;text-align:inherit;cursor:zoom-in;border-radius:16px;overflow:hidden;box-shadow:0 14px 34px rgba(0,0,0,.10);transition:transform .22s ease,box-shadow .22s ease}.gpp-photo-card:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(0,0,0,.16)}.gpp-photo-inner{display:block;position:relative;aspect-ratio:4/3;background:#eee;overflow:hidden}.gpp-photo-inner:after{content:"";position:absolute;inset:0;z-index:5}.gpp-photo-inner>img:not(.gpp-watermark){width:100%;height:100%;object-fit:cover;display:block;user-select:none;-webkit-user-drag:none;transition:transform .42s ease}.gpp-photo-card:hover .gpp-photo-inner>img:not(.gpp-watermark){transform:scale(1.045)}.gpp-photo-shine{position:absolute;inset:0;background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.22) 50%,transparent 100%);transform:translateX(-120%);transition:transform .65s ease;z-index:2}.gpp-photo-card:hover .gpp-photo-shine{transform:translateX(120%)}.gpp-watermark{position:absolute;max-width:34%;max-height:34%;z-index:4;opacity:var(--gpp-watermark-opacity,.35);pointer-events:none;user-select:none}.gpp-watermark-top-left{top:14px;left:14px}.gpp-watermark-top-right{top:14px;right:14px}.gpp-watermark-bottom-left{bottom:14px;left:14px}.gpp-watermark-bottom-right{bottom:14px;right:14px}.gpp-watermark-center{top:50%;left:50%;transform:translate(-50%,-50%);max-width:48%;max-height:48%}.gpp-protection-note{font-size:.86rem;opacity:.62;margin:16px 0 0}.gpp-empty{padding:18px;border-radius:14px;background:rgba(0,0,0,.05)}.gpp-lightbox{position:fixed;inset:0;z-index:999999;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;padding:28px}.gpp-lightbox.is-open{display:flex}.gpp-lightbox img{max-width:min(1120px,92vw);max-height:82vh;object-fit:contain;user-select:none;-webkit-user-drag:none}.gpp-lightbox-close,.gpp-lightbox-prev,.gpp-lightbox-next{position:absolute;border:0;background:rgba(255,255,255,.12);color:#fff;border-radius:999px;cursor:pointer;font-size:30px;line-height:1;width:48px;height:48px}.gpp-lightbox-close{top:18px;right:18px}.gpp-lightbox-prev{left:18px;top:50%;transform:translateY(-50%)}.gpp-lightbox-next{right:18px;top:50%;transform:translateY(-50%)}.gpp-lightbox-wa{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);background:#25d366;color:#fff!important;text-decoration:none!important;border-radius:999px;padding:11px 18px;font-weight:800}.gpp-protect-images img{-webkit-touch-callout:none;user-select:none}@media(max-width:900px){.gpp-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gpp-gallery-header{display:block}.gpp-photographer-button{margin:10px 0 0;white-space:normal;text-align:center}.gpp-gallery-card-img{aspect-ratio:16/9}}@media(max-width:560px){.gpp-photo-grid,.gpp-gallery-index,.gpp-album-index{grid-template-columns:1fr}.gpp-gallery-card-body{align-items:flex-start}.gpp-gallery-card-body em{display:none}.gpp-lightbox-prev,.gpp-lightbox-next{width:42px;height:42px;font-size:25px}}
.gpp-album-card-empty .gpp-album-card-img{background:linear-gradient(135deg,rgba(0,0,0,.07),rgba(0,0,0,.02));display:flex;align-items:center;justify-content:center}.gpp-empty-cover-icon{font-size:42px;opacity:.42;position:relative;z-index:2}.gpp-empty-album-card{border:1px dashed rgba(0,0,0,.18);border-radius:18px;padding:34px;text-align:center;background:rgba(255,255,255,.55);box-shadow:0 14px 34px rgba(0,0,0,.06)}.gpp-empty-album-icon{font-size:48px;opacity:.55}.gpp-empty-album-card h3{margin:8px 0 6px}.gpp-empty-album-card p{margin:0;opacity:.72}.gpp-upload-wrap{width:100%;max-width:760px;margin:0 auto;padding:clamp(16px,2vw,28px);border-radius:18px;background:rgba(255,255,255,.65);box-shadow:0 16px 38px rgba(0,0,0,.08);box-sizing:border-box}.gpp-upload-form label{display:block;margin-bottom:6px}.gpp-upload-form select,.gpp-upload-form input[type=file]{width:100%;box-sizing:border-box;padding:10px;border:1px solid rgba(0,0,0,.16);border-radius:10px;background:#fff}.gpp-upload-help{font-size:.9rem;opacity:.68}.gpp-upload-button{display:inline-flex;border:0;border-radius:999px;padding:11px 20px;font-weight:800;cursor:pointer;background:currentColor;color:#fff}.gpp-upload-message{margin-bottom:14px;padding:12px 14px;border-radius:12px;background:rgba(37,211,102,.14);border:1px solid rgba(37,211,102,.25)}

/* Proteção reforçada no lightbox */
.gpp-lightbox,.gpp-lightbox *{-webkit-touch-callout:none;user-select:none}.gpp-lightbox-stage{position:relative;display:flex;align-items:center;justify-content:center;max-width:min(1120px,92vw);max-height:82vh}.gpp-lightbox .gpp-lightbox-image{max-width:min(1120px,92vw);max-height:82vh;object-fit:contain;user-select:none!important;-webkit-user-select:none!important;-webkit-user-drag:none!important;pointer-events:none}.gpp-lightbox-guard{position:absolute;inset:0;z-index:8;background:transparent}.gpp-lightbox-watermark{position:absolute;z-index:7;max-width:18%;max-height:18%;pointer-events:none;user-select:none;-webkit-user-drag:none}.gpp-lightbox-watermark-top-left{top:18px;left:18px}.gpp-lightbox-watermark-top-right{top:18px;right:18px}.gpp-lightbox-watermark-bottom-left{bottom:18px;left:18px}.gpp-lightbox-watermark-bottom-right{bottom:18px;right:18px}.gpp-lightbox-watermark-center{top:50%;left:50%;transform:translate(-50%,-50%);max-width:26%;max-height:26%}.gpp-lightbox-close,.gpp-lightbox-prev,.gpp-lightbox-next,.gpp-lightbox-wa{z-index:20}.gpp-photo-card img{pointer-events:none}

/* V5 - acabamento visual limpo e compatível com Elementor/temas */
.gpp-gallery-wrap{padding-top:clamp(18px,2.4vw,36px);padding-bottom:clamp(18px,2.4vw,36px)}
.gpp-gallery-header{padding:clamp(14px,2vw,22px);border-radius:22px;background:rgba(255,255,255,.32);box-shadow:0 14px 38px rgba(0,0,0,.045);border:1px solid rgba(0,0,0,.045);backdrop-filter:blur(6px)}
.gpp-gallery-description{max-width:850px;font-size:clamp(.96rem,1vw,1.04rem);line-height:1.75;margin-bottom:0}.gpp-gallery-description p:last-child{margin-bottom:0}
.gpp-section-kicker{margin-top:clamp(18px,2.5vw,30px)}
.gpp-album-index,.gpp-gallery-index{align-items:start}.gpp-album-card,.gpp-gallery-card,.gpp-photo-card{will-change:transform}.gpp-album-card-body,.gpp-gallery-card-body{min-height:66px}.gpp-album-card-body small,.gpp-gallery-card-body small{white-space:nowrap}.gpp-album-card-img,.gpp-gallery-card-img{background-color:rgba(0,0,0,.075)}
.gpp-photo-grid{margin-top:clamp(14px,1.5vw,22px)}.gpp-photo-card{background:rgba(255,255,255,.4)}
@media(max-width:900px){.gpp-gallery-header{padding:0;background:transparent;border:0;box-shadow:none}.gpp-gallery-description{line-height:1.65}.gpp-album-card-body small,.gpp-gallery-card-body small{white-space:normal}}

/* V6 - compra por PIX e liberação manual */
.gpp-photo-code{position:absolute;left:10px;top:10px;z-index:6;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;font-size:.74rem;font-weight:800;padding:5px 8px;letter-spacing:.02em}.gpp-lightbox-actions{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);z-index:30;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;width:min(92vw,980px);pointer-events:auto}.gpp-lightbox-code{display:inline-flex;align-items:center;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;padding:10px 14px;font-weight:800}.gpp-lightbox-buy,.gpp-lightbox-download,.gpp-lightbox-wa,.gpp-copy-pix{display:inline-flex;align-items:center;justify-content:center;text-decoration:none!important;border:0;border-radius:999px;padding:11px 17px;font-weight:900;cursor:pointer;line-height:1.1}.gpp-lightbox-buy{background:#25d366;color:#fff!important}.gpp-lightbox-download{background:#fff;color:#111!important}.gpp-copy-pix{background:rgba(255,255,255,.16);color:#fff}.gpp-lightbox .gpp-lightbox-wa{position:static;left:auto;bottom:auto;transform:none;background:#25d366;color:#fff!important}.gpp-lightbox-stage{margin-bottom:72px}@media(max-width:560px){.gpp-lightbox-stage{margin-bottom:104px}.gpp-lightbox-actions{bottom:14px}.gpp-lightbox-buy,.gpp-lightbox-download,.gpp-lightbox-wa,.gpp-copy-pix{width:100%;max-width:320px}.gpp-lightbox-code{width:100%;max-width:320px;justify-content:center}}
/* V9: lightbox + seleção independente + carrinho flutuante */
.gpp-photo-card{position:relative;display:block;overflow:hidden}.gpp-photo-open{display:block;width:100%;padding:0;margin:0;border:0;background:transparent;cursor:zoom-in;text-align:inherit;border-radius:16px;overflow:hidden}.gpp-photo-select{position:absolute;right:10px;top:10px;z-index:12;border:0;border-radius:999px;background:rgba(255,255,255,.94);color:#111;padding:6px 10px;font-size:.74rem;font-weight:900;cursor:pointer;box-shadow:0 6px 16px rgba(0,0,0,.18)}.gpp-photo-select:hover{transform:translateY(-1px)}.gpp-photo-card.is-selected{outline:4px solid #25d366;outline-offset:2px}.gpp-photo-card.is-selected .gpp-photo-select{background:#25d366;color:#fff}.gpp-photo-card.is-selected:before{content:'Selecionado';position:absolute;left:10px;bottom:10px;z-index:12;background:#25d366;color:#fff;border-radius:999px;padding:6px 10px;font-size:.74rem;font-weight:900;box-shadow:0 6px 16px rgba(0,0,0,.18)}.gpp-floating-cart{position:fixed;right:18px;bottom:18px;z-index:999998;width:min(330px,calc(100vw - 36px));padding:16px;border-radius:20px;background:rgba(20,20,20,.94);color:#fff;box-shadow:0 22px 60px rgba(0,0,0,.32);display:none}.gpp-floating-cart.is-visible{display:block}.gpp-floating-cart-title{font-weight:900;margin-bottom:6px}.gpp-floating-cart-count{opacity:.82;font-size:.92rem}.gpp-floating-cart-total{font-size:1.12rem;font-weight:900;margin:6px 0 12px}.gpp-floating-cart-send,.gpp-floating-cart-clear{width:100%;border:0;border-radius:999px;padding:11px 14px;font-weight:900;cursor:pointer}.gpp-floating-cart-send{background:#25d366;color:#fff}.gpp-floating-cart-clear{margin-top:8px;background:rgba(255,255,255,.12);color:#fff}.gpp-photo-inner:after{pointer-events:none}@media(max-width:560px){.gpp-floating-cart{left:12px;right:12px;bottom:12px;width:auto}.gpp-photo-select{font-size:.7rem;padding:5px 8px}}

/* V10 - Modal PIX antes do WhatsApp */
.gpp-pix-modal{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(0,0,0,.62);backdrop-filter:blur(3px)}
.gpp-pix-modal.is-open{display:flex}
.gpp-pix-box{position:relative;width:min(94vw,520px);background:#fff;color:#202020;border-radius:20px;padding:24px;box-shadow:0 24px 70px rgba(0,0,0,.28);font-family:inherit}
.gpp-pix-box h3{margin:0 0 8px;font-size:22px;line-height:1.2}.gpp-pix-lead{margin:0 0 16px;color:#555;line-height:1.45}
.gpp-pix-summary{background:#f4f7f5;border:1px solid rgba(0,0,0,.07);border-radius:14px;padding:12px 14px;margin-bottom:14px;font-size:18px}
.gpp-pix-label{display:block;font-weight:700;margin:10px 0 6px}.gpp-pix-code{width:100%;min-height:105px;resize:vertical;border:1px solid rgba(0,0,0,.15);border-radius:14px;padding:12px;font-size:13px;line-height:1.35;background:#fafafa;color:#111;box-sizing:border-box}
.gpp-copy-pix-btn,.gpp-send-whatsapp{width:100%;border:0;border-radius:999px;padding:13px 18px;margin-top:10px;font-weight:800;cursor:pointer;transition:.18s ease}.gpp-copy-pix-btn{background:#222;color:#fff}.gpp-send-whatsapp{background:#20c767;color:#fff;box-shadow:0 10px 22px rgba(32,199,103,.22)}
.gpp-copy-pix-btn:hover,.gpp-send-whatsapp:hover{transform:translateY(-1px);filter:brightness(.98)}.gpp-pix-note{font-size:13px;color:#666;margin:12px 0 0;line-height:1.35;text-align:center}.gpp-pix-close{position:absolute;right:12px;top:10px;width:34px;height:34px;border:0;border-radius:50%;background:#f0f0f0;color:#333;font-size:24px;line-height:1;cursor:pointer}
@media (max-width:520px){.gpp-pix-box{padding:20px;border-radius:16px}.gpp-pix-box h3{font-size:20px}.gpp-pix-summary{font-size:16px}.gpp-pix-code{min-height:120px}}

/* V11 - campos do cliente no modal e botão de envio mais visível */
.gpp-customer-name,.gpp-customer-phone{width:100%;box-sizing:border-box;border:1px solid rgba(0,0,0,.16);border-radius:14px;padding:12px 13px;font-size:15px;background:#fff;color:#111;outline:none}.gpp-customer-name:focus,.gpp-customer-phone:focus{border-color:#20c767;box-shadow:0 0 0 3px rgba(32,199,103,.14)}
.gpp-upload-button{background:#111!important;color:#fff!important;box-shadow:0 10px 24px rgba(0,0,0,.18);min-height:46px;padding:13px 22px}.gpp-upload-button:hover{transform:translateY(-1px);filter:brightness(.95)}
.gpp-send-whatsapp:disabled{opacity:.7;cursor:wait;transform:none}

/* v11.1 - campos obrigatórios do pedido no modal PIX */
.gpp-customer-fields{display:grid;gap:8px;margin:12px 0 12px}.gpp-customer-fields .gpp-pix-label{margin-top:2px}.gpp-send-whatsapp:disabled{opacity:.65;cursor:not-allowed;filter:grayscale(1)}

/* V11.2.2 - Correção mobile: modal PIX sempre acima do carrinho flutuante */
.gpp-pix-modal{
    z-index:2147483000!important;
}
.gpp-pix-modal.is-open{
    z-index:2147483000!important;
}
.gpp-pix-modal .gpp-pix-box{
    z-index:2147483001!important;
}
.gpp-floating-cart{
    z-index:9999!important;
}
.gpp-lightbox{
    z-index:999990!important;
}
body:has(.gpp-pix-modal.is-open) .gpp-floating-cart{
    display:none!important;
}
@media(max-width:560px){
    .gpp-pix-modal{
        align-items:flex-start!important;
        justify-content:center!important;
        overflow-y:auto!important;
        -webkit-overflow-scrolling:touch;
        padding:14px 12px 24px!important;
    }
    .gpp-pix-box{
        width:100%!important;
        max-width:520px!important;
        max-height:calc(100dvh - 38px)!important;
        overflow-y:auto!important;
        box-sizing:border-box!important;
        margin:0 auto!important;
        padding:18px!important;
    }
    .gpp-pix-code{
        min-height:96px!important;
        max-height:150px!important;
    }
}

/* v11.3 - downloads públicos com marca d'água para álbuns sem venda */
.gpp-album-download-box{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin:0 0 18px;
    padding:16px 18px;
    border-radius:18px;
    background:rgba(17,17,17,.06);
    border:1px solid rgba(0,0,0,.08);
}
.gpp-album-download-box strong{
    display:block;
    font-size:1rem;
    line-height:1.25;
}
.gpp-album-download-box small{
    display:block;
    margin-top:4px;
    opacity:.72;
    line-height:1.35;
}
.gpp-album-download-button,
.gpp-photo-download{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-decoration:none!important;
    border:0;
    border-radius:999px;
    font-weight:900;
    cursor:pointer;
    line-height:1.1;
    background:#111;
    color:#fff!important;
    box-shadow:0 10px 24px rgba(0,0,0,.18);
}
.gpp-album-download-button{
    padding:13px 18px;
    white-space:nowrap;
}
.gpp-photo-download{
    position:absolute;
    right:10px;
    top:10px;
    z-index:12;
    padding:7px 11px;
    font-size:.74rem;
}
.gpp-photo-download:hover,
.gpp-album-download-button:hover{
    transform:translateY(-1px);
    filter:brightness(.95);
}
.gpp-lightbox-download{
    background:#fff;
    color:#111!important;
}
@media(max-width:560px){
    .gpp-album-download-box{
        display:block;
        padding:15px;
    }
    .gpp-album-download-button{
        width:100%;
        margin-top:12px;
    }
    .gpp-photo-download{
        font-size:.7rem;
        padding:6px 9px;
    }
    .gpp-lightbox-download{
        width:100%;
        max-width:320px;
    }
}
