:root{--brand:#5b4bff;--brand2:#8a5cff;--ink:#1b1b3a;--pix:#00a870;--bg:#f6f7fc;--card-r:18px}
body{font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;background:var(--bg);color:#22254a;-webkit-font-smoothing:antialiased}
a{color:var(--brand)}
.btn{border-radius:12px;font-weight:600}
.btn-primary{background:linear-gradient(135deg,var(--brand),var(--brand2));border:0;box-shadow:0 6px 16px rgba(91,75,255,.25)}
.btn-primary:hover,.btn-primary:focus{background:linear-gradient(135deg,#4a3bea,#7a4ce8)}
.btn-outline-primary{color:var(--brand);border-color:var(--brand)}.btn-outline-primary:hover{background:var(--brand);border-color:var(--brand)}
.form-control,.form-select{border-radius:12px;padding:.65rem .9rem}
.card{border-radius:var(--card-r);border:0;box-shadow:0 4px 20px rgba(30,27,75,.06)}
/* header */
.topbar{background:var(--ink);color:#c9c9ff;font-size:.82rem}
.site-nav{background:rgba(255,255,255,.92);backdrop-filter:blur(10px);box-shadow:0 2px 14px rgba(30,27,75,.07)}
.site-nav .nav-link{font-weight:600;color:#33366b;border-radius:10px;padding:.5rem .9rem!important}
.site-nav .nav-link:hover,.site-nav .nav-link.active{background:#eeecff;color:var(--brand)}
.brand{font-weight:800;font-size:1.35rem;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:.5rem}
.brand .logo-dot{width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;display:grid;place-items:center}
.brand img{height:38px}
.cart-badge{position:absolute;top:-2px;right:-2px;font-size:.65rem}
/* anúncios (home) */
.ad-slide,.ad-carousel img{display:block;aspect-ratio:16/5;object-fit:cover;border-radius:20px;transition:filter .2s}
.ad-slide:hover img,.ad-carousel a:hover img{filter:brightness(1.04)}
.ad-carousel{border-radius:20px;box-shadow:0 10px 30px rgba(30,27,75,.12)}
.ad-carousel .carousel-control-prev,.ad-carousel .carousel-control-next{width:44px;height:44px;top:50%;transform:translateY(-50%);background:rgba(15,12,50,.35);border-radius:50%;opacity:0}
.ad-carousel:hover .carousel-control-prev,.ad-carousel:hover .carousel-control-next{opacity:1}
.ad-carousel .carousel-control-prev{left:14px}.ad-carousel .carousel-control-next{right:14px}
.ad-carousel .carousel-indicators{margin-bottom:10px}
.ad-carousel .carousel-indicators button{width:8px;height:8px;border-radius:50%;background:#fff;opacity:.6}
.ad-carousel .carousel-indicators button.active{opacity:1}
/* sections */
.section-title{font-weight:800;letter-spacing:-.01em}
.section-title small{display:block;font-size:.8rem;color:var(--brand);text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.benefit{background:#fff;border-radius:var(--card-r);padding:22px;height:100%;box-shadow:0 4px 20px rgba(30,27,75,.05)}
.benefit i{font-size:1.6rem;color:var(--brand);background:#eeecff;width:52px;height:52px;display:grid;place-items:center;border-radius:14px;margin-bottom:12px}
.cat-tile{display:block;background:#fff;border-radius:var(--card-r);padding:18px;text-decoration:none;color:inherit;height:100%;box-shadow:0 4px 20px rgba(30,27,75,.05);transition:.2s}
.cat-tile:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(91,75,255,.15)}
.cat-tile .ic{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#eeecff,#f7e8ff);color:var(--brand);display:grid;place-items:center;font-size:1.4rem;margin-bottom:10px;overflow:hidden}
.cat-tile .ic img{width:100%;height:100%;object-fit:cover}
/* product card */
.product-card{transition:transform .2s,box-shadow .2s;overflow:hidden}
.product-card:hover{transform:translateY(-5px);box-shadow:0 14px 34px rgba(91,75,255,.18)}
.thumb{display:block;position:relative;aspect-ratio:16/10;background:#eceaff;overflow:hidden}
.thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.product-card:hover .thumb img{transform:scale(1.05)}
.ph{width:100%;height:100%;display:grid;place-items:center;font-size:3rem;color:#a9a3ff;background:linear-gradient(135deg,#eeecff,#f7e8ff);min-height:120px}
.off-tag,.hot-tag{position:absolute;top:10px;padding:3px 10px;border-radius:99px;font-size:.72rem;font-weight:700;color:#fff}
.off-tag{left:10px;background:#ef4444}.hot-tag{right:10px;background:#f59e0b}
.cat-link{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;text-decoration:none;color:var(--brand)}
.price-block .old{text-decoration:line-through;color:#8b8fb5;font-size:.85rem;line-height:1}
.price-block .now{font-size:1.35rem;font-weight:800;color:var(--ink);line-height:1.2}
.price-block.big .now{font-size:2.1rem}
.pix-line{font-size:.85rem;color:var(--pix);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.pix-badge{display:inline-flex;align-items:center;gap:4px;background:#e4fbf1;color:#00875a;border:1px solid #b6f0d8;font-weight:800;font-size:.7rem;padding:2px 8px;border-radius:99px;letter-spacing:.02em}
.pix-banner{background:linear-gradient(135deg,#e4fbf1,#d5f7ea);border:1px dashed #38d39f;color:#006e4a;border-radius:14px;padding:12px 16px;font-weight:800;text-align:center}
/* product page */
.gallery-main{border-radius:var(--card-r);overflow:hidden;background:#eceaff;aspect-ratio:16/10}
.gallery-main img{width:100%;height:100%;object-fit:cover}
.gallery-thumbs img{width:78px;height:54px;object-fit:cover;border-radius:10px;cursor:pointer;border:2px solid transparent;opacity:.8}.gallery-thumbs img:hover,.gallery-thumbs img.on{border-color:var(--brand);opacity:1}
.buy-box{position:sticky;top:90px}
.feature-list li{margin-bottom:.4rem}.feature-list i{color:var(--pix)}
.nav-pills .nav-link{border-radius:10px;font-weight:600}.nav-pills .nav-link.active{background:var(--brand)}
/* payment */
.pay-steps .s{display:flex;gap:10px;align-items:center}.pay-steps .n{width:28px;height:28px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:.8rem;font-weight:700}
.qr-box{background:#fff;border:2px dashed #cfcaff;border-radius:18px;padding:16px;display:inline-block}
.qr-box canvas,.qr-box img{max-width:100%;height:auto!important}
.pix-code{font-family:ui-monospace,Menlo,monospace;font-size:.78rem;word-break:break-all;background:#f3f2ff;border-radius:12px;padding:12px}
/* account */
.acct-nav a{display:flex;align-items:center;gap:10px;padding:.7rem 1rem;border-radius:12px;color:#33366b;text-decoration:none;font-weight:600}
.acct-nav a:hover,.acct-nav a.on{background:#eeecff;color:var(--brand)}
.stat{background:#fff;border-radius:var(--card-r);padding:18px;box-shadow:0 4px 20px rgba(30,27,75,.05)}
.stat .v{font-size:1.6rem;font-weight:800}
/* chat */
.chat-box{display:flex;flex-direction:column;height:520px;max-height:75vh;background:#fff;border-radius:var(--card-r);box-shadow:0 4px 20px rgba(30,27,75,.06);overflow:hidden}
.chat-msgs{flex:1;overflow-y:auto;padding:16px;background:#f4f5fb}
.bubble{max-width:82%;padding:9px 13px;border-radius:16px;margin-bottom:10px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.06);word-wrap:break-word}
.bubble.mine{margin-left:auto;background:var(--brand);color:#fff;border-bottom-right-radius:4px}
.bubble:not(.mine){border-bottom-left-radius:4px}
.bubble .meta{font-size:.68rem;opacity:.75;margin-top:3px;display:flex;gap:6px;justify-content:flex-end}
.bubble .who{font-size:.72rem;font-weight:700;opacity:.85}
.bubble img.att{max-width:220px;border-radius:10px;display:block;margin-top:6px}
.bubble a.file{display:inline-block;margin-top:6px;padding:4px 10px;border-radius:8px;background:rgba(0,0,0,.08);color:inherit;font-size:.82rem;text-decoration:none}
.chat-form{border-top:1px solid #ececf5;padding:10px;display:flex;gap:8px;align-items:flex-end;background:#fff}
.chat-form textarea{resize:none;border-radius:12px}
.day-sep{text-align:center;font-size:.72rem;color:#8b8fb5;margin:8px 0}
/* misc */
.wa-float{position:fixed;right:18px;bottom:18px;z-index:1040;width:58px;height:58px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;font-size:1.9rem;box-shadow:0 8px 24px rgba(37,211,102,.5);text-decoration:none;animation:pulse 2.4s infinite}
.wa-float:hover{color:#fff;transform:scale(1.07)}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.5)}70%{box-shadow:0 0 0 16px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}
.site-footer{background:var(--ink);color:#b9bbe6;margin-top:64px}
.site-footer a{color:#dcdcff;text-decoration:none}.site-footer a:hover{color:#fff}
.fade-in{animation:fi .5s ease both}@keyframes fi{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:768px){.hero{padding:40px 22px;border-radius:22px}.hero h1{font-size:1.9rem}.buy-box{position:static}}
/* admin */
.admin-side{background:var(--ink);min-height:100vh;width:250px;flex-shrink:0}
.admin-side a{display:flex;align-items:center;gap:10px;color:#b9bbe6;text-decoration:none;padding:.65rem 1rem;border-radius:10px;font-weight:500;font-size:.93rem}
.admin-side a:hover,.admin-side a.on{background:rgba(255,255,255,.1);color:#fff}
.admin-main{flex:1;min-width:0}
.table>:not(caption)>*>*{vertical-align:middle}
@media(max-width:991px){.admin-side{position:fixed;left:-260px;top:0;z-index:1050;transition:left .25s;height:100%;overflow-y:auto}.admin-side.open{left:0}}
