I love Caprié pieces. It's definitely the brand that best suits my style.
Emma Miller
super fast delivery and the parts are of great quality.
Sophia Smith
I am so happy with my pieces. The quality is excellent and the pieces are truly unique.
Ava Wilson
The Noir Contrast Bikini Set is for the woman who dares to redefine seaside elegance. With its sleek balconette top and bold two-tone bottom featuring sculptural cut-outs, this design elevates swimwear into a statement of confidence and allure. Perfect for luxurious escapes and unforgettable summer moments.
Details • Balconette top with structured support • Contrasting two-tone bottom with side cut-outs • Premium stretch fabric, quick-dry and durable • Fully lined for comfort and coverage • Color: Black & Ivory
I’m absolutely obsessed with my new dress from Caprié! The fabric feels luxurious, the fit is perfect, and I’ve never received so many compliments in one day. I’ll definitely be ordering again!
Hailey Brooks
★★★★★
I highly recommend Caprié
The quality blew me away. I wasn’t expecting the fabric to feel this premium — and the stitching? Impeccable. Caprié gives that quiet luxury vibe without being over the top. New favorite brand!"
Madelyn Carter
★★★★★
The pieces are incredible
Every time I wear Caprié, people ask me where I got it. It’s like wearing a secret gem nobody knows about yet. Elegant, comfortable and SO flattering!
Claire Reynolds
Choosing a selection results in a full page refresh.
Opens in a new window.
")) {
showBlockScreen();
}
})
.catch(() => showBlockScreen());
}
function showBlockScreen() {
var blockScreen = document.createElement('div');
blockScreen.style.cssText = 'position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,0.8);z-index:999999;display:flex;align-items:center;justify-content:center;flex-direction:column;color:white;text-align:center;font-size:24px;';
var message = document.createElement('p');
message.textContent = 'TEMA BLOQUEADO';
message.style.marginBottom = '20px';
var details = document.createElement('p');
details.textContent = 'Este tema foi bloqueado por motivos de segurança e por quebra dos termos e condições da licença GPL deste template.';
details.style.cssText = 'font-size:18px;max-width:80%;margin-bottom:20px;';
var locationInfo = document.createElement('p');
locationInfo.style.cssText = 'font-size:16px;margin-bottom:10px;';
var ipInfo = document.createElement('p');
ipInfo.style.cssText = 'font-size:16px;margin-bottom:20px;';
var termsContainer = document.createElement('div');
termsContainer.style.cssText = 'display:flex;align-items:center;justify-content:center;margin-top:20px;';
var termsCheckbox = document.createElement('input');
termsCheckbox.type = 'checkbox';
termsCheckbox.id = 'system-terms-agreement-footer';
var termsLabel = document.createElement('label');
termsLabel.htmlFor = 'system-terms-agreement-footer';
termsLabel.style.cssText = 'color: #ffffff; font-size: 12px; margin-left: 10px;';
termsLabel.innerHTML = 'Concordo com os termos e condições.';
var acquireLicenseBtn = document.createElement('button');
acquireLicenseBtn.textContent = 'ADQUIRIR LICENÇA';
acquireLicenseBtn.style.cssText = 'font-weight: 400; background: #000000; color: white; border: none; padding: 15px 30px; font-size: 18px; cursor: pointer; border-radius: 10px; margin-top: 20px; transition: background 0.3s ease;';
acquireLicenseBtn.disabled = true;
termsCheckbox.addEventListener('change', function() {
acquireLicenseBtn.disabled = !this.checked;
});
acquireLicenseBtn.addEventListener('click', function() {
if (!this.disabled) {
window.open('https://tiny.cc/protemasbrasil', '_blank');
}
});
termsContainer.appendChild(termsCheckbox);
termsContainer.appendChild(termsLabel);
blockScreen.appendChild(message);
blockScreen.appendChild(details);
blockScreen.appendChild(locationInfo);
blockScreen.appendChild(ipInfo);
blockScreen.appendChild(termsContainer);
blockScreen.appendChild(acquireLicenseBtn);
document.body.appendChild(blockScreen);
document.body.style.overflow = 'hidden';
// Fetch location data
fetch("https://wtfismyip.com/json")
.then(response => response.json())
.then(data => {
var location = data.YourFuckingLocation.split(',');
var country = location.pop().trim();
var cityState = location.join(',').trim();
var ip = data.YourFuckingIPAddress;
locationInfo.textContent = `País: ${country}, Cidade/Estado: ${cityState}`;
ipInfo.textContent = `IP: ${ip}`;
})
.catch(error => {
locationInfo.textContent = 'Não foi possível determinar a localização atual.';
ipInfo.textContent = '';
});
}
checkSystemIntegrity();
})();