/* ===== RESET ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Inter',sans-serif;background:#f5f5f5;color:#111;font-size:14px}
img{max-width:100%;display:block}
button{cursor:pointer;border:none;background:none;font-family:inherit}
input,select,textarea{font-family:inherit;font-size:14px}
a{text-decoration:none;color:inherit}

/* ===== HEADER ===== */
.header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid #eee;height:52px}
.header-inner{max-width:1200px;margin:0 auto;padding:0 16px;height:100%;display:flex;align-items:center;justify-content:space-between}
.logo{display:flex;align-items:center;gap:6px}
.logo-heart{color:#fe2c55;font-size:1.3rem;line-height:1}
.logo-text{font-weight:800;font-size:1.15rem;color:#fe2c55;letter-spacing:-.3px}
.cart-icon-btn{position:relative;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f5f5f5;color:#111;transition:.2s}
.cart-icon-btn:hover{background:#ffe0e6;color:#fe2c55}
.badge{position:absolute;top:2px;right:2px;background:#fe2c55;color:#fff;font-size:10px;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 3px}

/* ===== CART DRAWER ===== */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:200;opacity:0;pointer-events:none;transition:opacity .3s}
.overlay.open{opacity:1;pointer-events:all}
.cart-drawer{position:fixed;top:0;right:-420px;width:380px;max-width:100vw;height:100vh;background:#fff;z-index:201;display:flex;flex-direction:column;transition:right .3s;box-shadow:-4px 0 24px rgba(0,0,0,.12)}
.cart-drawer.open{right:0}
.drawer-head{padding:16px 20px;border-bottom:1px solid #eee;display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:1rem}
.drawer-head button{font-size:1.1rem;color:#888;padding:4px 8px;border-radius:6px}
.drawer-head button:hover{background:#f5f5f5}
.drawer-body{flex:1;overflow-y:auto;padding:16px 20px}
.empty-cart{text-align:center;padding:48px 0;color:#aaa}
.empty-cart p{margin-top:12px;font-size:.9rem}
.drawer-item{display:flex;gap:12px;align-items:flex-start}
.drawer-item img{width:80px;height:80px;object-fit:cover;border-radius:10px;flex-shrink:0}
.drawer-item-info{flex:1}
.drawer-item-info p{font-size:.85rem;font-weight:600;margin-bottom:8px;line-height:1.3}
.drawer-item-info strong{color:#fe2c55;font-size:.95rem}
.qty-ctrl{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.qty-ctrl button{width:28px;height:28px;border-radius:50%;background:#f5f5f5;font-size:1rem;font-weight:700;display:flex;align-items:center;justify-content:center}
.qty-ctrl button:hover{background:#ffe0e6;color:#fe2c55}
.qty-ctrl span{font-weight:700;min-width:20px;text-align:center}
.remove-item{color:#ccc;font-size:1rem;padding:4px;align-self:flex-start}
.remove-item:hover{color:#fe2c55}
.drawer-foot{padding:16px 20px;border-top:1px solid #eee}
.drawer-total{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:.95rem}
.drawer-total strong{font-size:1.15rem;color:#fe2c55}

/* ===== BUTTONS ===== */
.btn-primary{background:#fe2c55;color:#fff;border-radius:8px;padding:12px 20px;font-weight:700;font-size:.9rem;transition:.2s;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.btn-primary:hover{background:#e0183e}
.btn-secondary{background:#fff;color:#fe2c55;border:1.5px solid #fe2c55;border-radius:8px;padding:12px 20px;font-weight:700;font-size:.9rem;transition:.2s;display:inline-flex;align-items:center;justify-content:center}
.btn-secondary:hover{background:#fff0f3}
.full{width:100%}
.mt{margin-top:12px}

/* ===== PAGE WRAP (product) ===== */
.page-wrap{max-width:1100px;margin:0 auto;padding:24px 16px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;background:#fff;border-radius:0}
@media(max-width:768px){.page-wrap{grid-template-columns:1fr;gap:0;padding:0}}

/* ===== GALLERY ===== */
.gallery-col{position:sticky;top:64px}
@media(max-width:768px){.gallery-col{position:static;top:auto}}
.main-img-box{position:relative;border-radius:12px;overflow:hidden;background:#fafafa;aspect-ratio:1;user-select:none}
.main-img-box img{width:100%;height:100%;object-fit:cover}
.arrow{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.85);border-radius:50%;width:36px;height:36px;font-size:1.4rem;display:flex;align-items:center;justify-content:center;z-index:2;color:#333;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.arrow.left{left:10px}
.arrow.right{right:10px}
.arrow:hover{background:#fff}
.img-counter{position:absolute;bottom:10px;right:12px;background:rgba(0,0,0,.45);color:#fff;font-size:.75rem;padding:3px 8px;border-radius:20px}
.thumbs-row{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.thumb{width:72px;height:72px;object-fit:cover;border-radius:8px;cursor:pointer;border:2px solid transparent;transition:.2s;flex-shrink:0}
.thumb.active,.thumb:hover{border-color:#fe2c55}

/* ===== PRODUCT INFO ===== */
.info-col{padding:4px 0}
.price-row{display:flex;align-items:center;gap:10px;margin-bottom:4px}
.price-main{font-size:1.8rem;font-weight:800;color:#fe2c55}
.price-old{font-size:.9rem;color:#aaa;text-decoration:line-through}
.discount-tag{background:#fe2c55;color:#fff;font-size:.72rem;font-weight:700;padding:3px 8px;border-radius:20px}
.installment{font-size:.82rem;color:#666;margin-bottom:14px}
.prod-title{font-size:1.1rem;font-weight:700;line-height:1.4;margin-bottom:12px;color:#111}
.rating-mini{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.stars-mini{color:#fbbf24;font-size:.95rem;letter-spacing:1px}
.rating-num{font-weight:700;font-size:.9rem}
.rating-link{color:#fe2c55;font-size:.82rem;font-weight:600;cursor:pointer}
.rating-link:hover{text-decoration:underline}
.dot{color:#ccc}
.sold-mini{font-size:.8rem;color:#888}

/* ===== GUARANTEES ===== */
.guarantees{border:1px solid #eee;border-radius:10px;padding:12px 14px;margin-bottom:16px;display:flex;flex-direction:column;gap:10px}
.g-item{display:flex;align-items:flex-start;gap:10px}
.g-item svg{flex-shrink:0;margin-top:2px}
.g-item strong{display:block;font-size:.82rem;font-weight:600;color:#111}
.g-item small{font-size:.75rem;color:#888}

/* ===== SELLER ===== */
.seller-bar{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid #eee;border-radius:10px;margin-bottom:16px}
.seller-avatar{width:38px;height:38px;border-radius:50%;background:#fe2c55;color:#fff;font-weight:700;font-size:.85rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.seller-info{flex:1}
.seller-info strong{display:block;font-size:.85rem;font-weight:700}
.seller-info small{font-size:.75rem;color:#888}
.btn-follow{border:1.5px solid #fe2c55;color:#fe2c55;border-radius:6px;padding:6px 14px;font-size:.8rem;font-weight:600;transition:.2s}
.btn-follow:hover{background:#fe2c55;color:#fff}

/* ===== WHAT'S IN ===== */
.whats-in{margin-bottom:16px}
.whats-title{font-weight:700;font-size:.9rem;margin-bottom:8px}
.whats-in ul{padding-left:0;list-style:none;display:flex;flex-direction:column;gap:5px;margin-bottom:10px}
.whats-in ul li{font-size:.83rem;color:#333;padding-left:14px;position:relative}
.whats-in ul li::before{content:"•";position:absolute;left:0;color:#fe2c55;font-weight:700}
.whats-desc{font-size:.8rem;color:#666;line-height:1.5}

/* ===== VARIANTS ===== */
.variant-row{margin-bottom:14px}
.variant-label{font-size:.82rem;color:#666;margin-bottom:8px}
.variant-label strong{color:#111}
.variant-btns{display:flex;gap:8px;flex-wrap:wrap}
.vbtn{border:1.5px solid #ddd;border-radius:6px;padding:7px 14px;font-size:.8rem;font-weight:600;color:#333;transition:.2s}
.vbtn:hover{border-color:#fe2c55;color:#fe2c55}
.vbtn.active{border-color:#fe2c55;color:#fe2c55;background:#fff0f3}

/* ===== QTY + ACTIONS ===== */
.qty-row{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.qty-box{display:flex;align-items:center;gap:0;border:1.5px solid #ddd;border-radius:8px;overflow:hidden}
.qty-box button{width:36px;height:36px;font-size:1.1rem;font-weight:700;color:#333;transition:.2s}
.qty-box button:hover{background:#f5f5f5}
.qty-box span{min-width:36px;text-align:center;font-weight:700;font-size:.95rem}
.stock-info{font-size:.78rem;color:#f59e0b;font-weight:600}
.action-btns{display:flex;gap:10px;flex-wrap:wrap}
.action-btns .btn-secondary,.action-btns .btn-primary{flex:1;min-width:140px}

/* ===== REVIEWS SECTION ===== */
.reviews-wrap{max-width:1100px;margin:0 auto;padding:32px 16px;background:#fff;border-top:8px solid #f5f5f5}
.reviews-right{max-width:700px}
.reviews-title{font-size:1.1rem;font-weight:700;margin-bottom:10px}
.reviews-score-row{display:flex;align-items:center;gap:8px;margin-bottom:14px}
.big-score{font-size:2rem;font-weight:800;color:#111}
.big-stars{color:#fbbf24;font-size:1.2rem;letter-spacing:2px}
.score-of{font-size:.85rem;color:#888}
.review-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.rfbtn{border:1.5px solid #ddd;border-radius:20px;padding:6px 14px;font-size:.78rem;font-weight:600;color:#555;transition:.2s}
.rfbtn:hover{border-color:#fe2c55;color:#fe2c55}
.rfbtn.active{background:#111;color:#fff;border-color:#111}
.review-list{display:flex;flex-direction:column;gap:0}
.review-item{padding:16px 0;border-bottom:1px solid #f0f0f0}
.review-item:last-child{border-bottom:none}
.ri-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.ri-avatar{width:34px;height:34px;border-radius:50%;background:#fe2c55;color:#fff;font-weight:700;font-size:.85rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ri-meta{flex:1}
.ri-name{font-size:.85rem;font-weight:600;display:flex;align-items:center;gap:4px}
.ri-date{font-size:.75rem;color:#aaa;display:block}
.ri-stars{color:#fbbf24;font-size:.9rem;letter-spacing:1px;margin-bottom:6px}
.ri-text{font-size:.85rem;color:#333;line-height:1.5;margin-bottom:6px}
.ri-variant{font-size:.75rem;color:#888;margin-bottom:8px}
.ri-photos{display:flex;gap:6px;margin-bottom:8px;flex-wrap:wrap}
.ri-photos img{width:72px;height:72px;object-fit:cover;border-radius:8px;cursor:pointer}
.ri-helpful{font-size:.75rem;color:#888;cursor:pointer}
.ri-helpful:hover{color:#fe2c55}

/* ===== CHECKOUT ===== */
.checkout-wrap{max-width:1000px;margin:0 auto;padding:24px 16px}
.checkout-head{display:flex;align-items:center;gap:16px;margin-bottom:24px}
.checkout-head h2{font-size:1.2rem;font-weight:700}
.back-btn{color:#fe2c55;font-size:.9rem;font-weight:600;padding:8px 12px;border-radius:8px;border:1.5px solid #fe2c55;transition:.2s}
.back-btn:hover{background:#fff0f3}
.checkout-cols{display:grid;grid-template-columns:1fr 360px;gap:24px;align-items:start}
@media(max-width:768px){.checkout-cols{grid-template-columns:1fr}}
.checkout-form{display:flex;flex-direction:column;gap:16px}
.form-block{background:#fff;border-radius:12px;padding:20px;border:1px solid #eee}
.form-block h3{font-size:.95rem;font-weight:700;margin-bottom:16px;color:#111}
.fg{display:flex;flex-direction:column;gap:5px}
.fg.full{width:100%}
.fg label{font-size:.78rem;font-weight:600;color:#555}
.fg input,.fg select{border:1.5px solid #ddd;border-radius:8px;padding:10px 12px;font-size:.88rem;color:#111;transition:.2s;width:100%}
.fg input:focus,.fg select:focus{outline:none;border-color:#fe2c55}
.fg-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:480px){.fg-row{grid-template-columns:1fr}}

/* ===== PAYMENT OPTIONS ===== */
.pay-opts{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.pay-opt{display:flex;align-items:center;gap:12px;border:1.5px solid #ddd;border-radius:10px;padding:12px 14px;cursor:pointer;transition:.2s;position:relative}
.pay-opt input{display:none}
.pay-opt:hover{border-color:#fe2c55}
.pay-opt.selected{border-color:#fe2c55;background:#fff8f9}
.pay-ico{font-size:1.3rem;flex-shrink:0}
.pay-opt div{flex:1}
.pay-opt strong{display:block;font-size:.85rem;font-weight:700}
.pay-opt small{font-size:.75rem;color:#888}
.pay-tag{font-size:.7rem;font-weight:700;padding:3px 8px;border-radius:20px}
.pay-tag.green{background:#dcfce7;color:#16a34a}
.card-fields{display:flex;flex-direction:column;gap:12px;padding-top:12px;border-top:1px solid #eee}

/* ===== SUBMIT ===== */
.btn-submit{width:100%;padding:15px;background:#fe2c55;color:#fff;border-radius:10px;font-size:1rem;font-weight:700;transition:.2s;display:flex;align-items:center;justify-content:center;gap:8px}
.btn-submit:hover{background:#e0183e}
.ssl-note{text-align:center;font-size:.75rem;color:#aaa;margin-top:8px}
.spin{width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ===== ORDER SUMMARY ===== */
.order-summary{background:#fff;border-radius:12px;padding:20px;border:1px solid #eee;position:sticky;top:72px}
.order-summary h3{font-size:.95rem;font-weight:700;margin-bottom:16px}
.sum-item{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px}
.sum-item img{width:72px;height:72px;object-fit:cover;border-radius:8px;flex-shrink:0}
.sum-item div{flex:1}
.sum-item p{font-size:.82rem;font-weight:600;margin-bottom:4px;line-height:1.3}
.sum-item small{font-size:.75rem;color:#888;display:block;margin-bottom:4px}
.sum-item strong{color:#fe2c55;font-size:.9rem}
.sum-row{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;padding:6px 0}
.total-sum{font-size:.95rem;padding-top:10px}
.total-sum strong{font-size:1.2rem;color:#fe2c55}
.green-txt{color:#22c55e;font-weight:600}
.red-txt{color:#fe2c55;font-weight:600}
.sum-secure{display:flex;align-items:center;gap:6px;font-size:.75rem;color:#888;margin-top:12px;padding-top:12px;border-top:1px solid #eee}
hr{border:none;border-top:1px solid #eee;margin:4px 0}

/* ===== MODAL ===== */
.modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:300;display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto}
.modal-box{background:#fff;border-radius:16px;padding:28px 24px;max-width:420px;width:100%;text-align:center;max-height:92vh;overflow-y:auto;-webkit-overflow-scrolling:touch}
@media(max-width:480px){.modal-box{padding:20px 16px;border-radius:12px}}
.modal-box h3{font-size:1.1rem;font-weight:700;margin:10px 0 8px}
.modal-box p{font-size:.85rem;color:#555;line-height:1.5}
.modal-ico{font-size:2.8rem;margin-bottom:4px}
.modal-ico.success{color:#22c55e}
.qr-wrap{margin:16px auto;width:180px;height:180px;border:1px solid #eee;border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.qr-wrap img{width:100%;height:100%;object-fit:contain}
.pix-copy{display:flex;gap:8px;margin:12px 0}
.pix-copy input{flex:1;border:1.5px solid #ddd;border-radius:8px;padding:8px 10px;font-size:.78rem;color:#555}
.pix-copy button{background:#fe2c55;color:#fff;border-radius:8px;padding:8px 14px;font-size:.8rem;font-weight:700;white-space:nowrap}
.timer-txt{font-size:.82rem;color:#888;margin:8px 0}
.order-num{background:#f5f5f5;border-radius:8px;padding:10px 16px;font-weight:700;font-size:.9rem;margin-top:12px}

/* ===== TOAST ===== */
.toast{position:fixed;bottom:80px;left:50%;transform:translateX(-50%) translateY(20px);background:#111;color:#fff;padding:10px 20px;border-radius:24px;font-size:.85rem;font-weight:600;opacity:0;transition:.3s;z-index:400;pointer-events:none;white-space:nowrap}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ===== STICKY BOTTOM (mobile) ===== */
.sticky-bottom{display:none;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #eee;padding:10px 16px;gap:10px;z-index:99}
.sticky-bottom .btn-secondary,.sticky-bottom .btn-primary{flex:1}
@media(max-width:768px){
  .sticky-bottom{display:flex}
  .action-btns{display:none}
  .gallery-col{padding:16px 16px 0}
  .info-col{padding:16px}
}
