/* ── VARS & RESET ── */
:root{--cream:#fdf6ef;--warm-white:#faf4ee;--caramel:#b5692a;--caramel-light:#d4844a;--caramel-pale:#f0d5be;--blush:#f5e6d8;--sand:#e8d5c0;--text-dark:#3d2b1a;--text-mid:#7a5035;--text-light:#b8896a;--wa:#25d366;--wa-dark:#1ebe5d;}
*{margin:0;padding:0;box-sizing:border-box;}
body{background:var(--cream);font-family:"Lato",sans-serif;color:var(--text-dark);overflow-x:hidden;}

/* ── HEADER ── */
header{background:var(--warm-white);border-bottom:1px solid var(--caramel-pale);padding:18px 20px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:200;box-shadow:0 2px 20px rgba(181,105,42,.08);}
.header-logo{text-align:center;flex:1;}
.logo{font-family:"Dancing Script",cursive;font-size:clamp(1.6rem,4.5vw,2.8rem);font-weight:700;color:var(--caramel);line-height:1;}
.logo-sub{font-family:"Cormorant Garamond",serif;font-size:.7rem;font-weight:300;letter-spacing:4px;text-transform:uppercase;color:var(--text-light);margin-top:3px;}
.cart-trigger{position:relative;background:none;border:none;cursor:pointer;padding:8px;color:var(--text-mid);transition:color .2s;}
.cart-trigger:hover{color:var(--caramel);}
.cart-badge{position:absolute;top:2px;right:2px;background:var(--caramel);color:#fff;font-size:.6rem;font-weight:700;width:18px;height:18px;border-radius:50%;display:none;align-items:center;justify-content:center;font-family:"Lato",sans-serif;}
.cart-badge.pop{animation:badgePop .3s cubic-bezier(.34,1.56,.64,1);}
@keyframes badgePop{0%{transform:scale(1)}50%{transform:scale(1.5)}100%{transform:scale(1)}}

/* ── CAT NAV ── */
.cat-nav{background:var(--warm-white);border-bottom:1px solid var(--caramel-pale);display:flex;justify-content:center;position:sticky;top:72px;z-index:199;overflow-x:auto;scrollbar-width:none;box-shadow:0 2px 10px rgba(181,105,42,.04);}
.cat-nav::-webkit-scrollbar{display:none;}
.cat-btn{padding:13px 18px;font-family:"Lato",sans-serif;font-size:.68rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--text-light);background:none;border:none;border-bottom:2.5px solid transparent;cursor:pointer;transition:all .2s;white-space:nowrap;display:flex;align-items:center;gap:5px;}
.cat-btn:hover{color:var(--caramel);}
.cat-btn.active{color:var(--caramel);border-bottom-color:var(--caramel);}

/* ── HERO ── */
.hero-strip{background:linear-gradient(135deg,var(--blush),var(--caramel-pale));padding:16px 24px;text-align:center;}
.hero-strip p{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:clamp(.88rem,2.4vw,1.04rem);color:var(--text-mid);}

/* ── SECTIONS ── */
.cat-section{scroll-margin-top:140px;padding-bottom:10px;}
.cat-section+.cat-section{border-top:1px solid var(--caramel-pale);}
.section-title{text-align:center;padding:44px 20px 26px;}
.section-title h2{font-family:"Cormorant Garamond",serif;font-size:clamp(1.2rem,3.5vw,1.75rem);font-weight:400;color:var(--text-dark);margin-bottom:8px;display:flex;align-items:center;justify-content:center;gap:10px;}
.section-title .divider{width:48px;height:1.5px;background:linear-gradient(90deg,transparent,var(--caramel),transparent);margin:0 auto;}

/* ── CAROUSEL ── */
.carousel-wrap{padding:0 52px 36px;max-width:1100px;margin:0 auto;}
.carousel-outer{position:relative;}
.carousel-track-wrapper{overflow:hidden;}
.carousel-track{display:flex;gap:22px;transition:transform .5s cubic-bezier(.4,0,.2,1);}
@media(max-width:860px){.carousel-wrap{padding:0 40px 36px;}}
@media(max-width:560px){.carousel-wrap{padding:0 24px 36px;}}

/* ── PRODUCT CARD ── */
.product-card{background:var(--warm-white);border-radius:16px;overflow:hidden;border:1px solid var(--sand);flex:0 0 calc(33.333% - 15px);box-shadow:0 4px 24px rgba(181,105,42,.08);transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column;}
@media(max-width:860px){.product-card{flex:0 0 calc(50% - 11px);}}
@media(max-width:560px){.product-card{flex:0 0 calc(82vw);}}
.product-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(181,105,42,.15);}

/* ── FLIP IMAGE ── */
.img-flip-wrapper{position:relative;width:100%;aspect-ratio:3/4;overflow:hidden;flex-shrink:0;}
.img-flip-wrapper img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .45s ease,transform .45s ease;}
.img-front{opacity:1;transform:scale(1);z-index:2;}.img-back{opacity:0;transform:scale(1.04);z-index:1;}
.img-flip-wrapper:hover .img-front{opacity:0;transform:scale(1.04);}.img-flip-wrapper:hover .img-back{opacity:1;transform:scale(1);z-index:2;}
.hover-hint{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);background:rgba(181,105,42,.82);color:#fff;font-size:.6rem;letter-spacing:1.8px;text-transform:uppercase;padding:4px 11px;border-radius:20px;pointer-events:none;opacity:1;transition:opacity .3s;white-space:nowrap;z-index:10;font-family:"Lato",sans-serif;}
.img-flip-wrapper:hover .hover-hint{opacity:0;}
.img-single{width:100%;aspect-ratio:3/4;overflow:hidden;flex-shrink:0;}
.img-single img{width:100%;height:100%;object-fit:cover;transition:transform .45s;}
.product-card:hover .img-single img{transform:scale(1.04);}

/* ── PRODUCT INFO ── */
.badge-exclusive{display:inline-flex;align-items:center;gap:4px;background:linear-gradient(135deg,var(--caramel),var(--caramel-light));color:#fff;font-size:.58rem;letter-spacing:2px;text-transform:uppercase;padding:3px 9px;border-radius:20px;font-family:"Lato",sans-serif;font-weight:600;margin-bottom:9px;width:fit-content;}
.product-info{padding:16px 16px 20px;display:flex;flex-direction:column;flex:1;}
.product-name{font-family:"Cormorant Garamond",serif;font-size:1.08rem;font-weight:500;color:var(--text-dark);margin-bottom:3px;}
.product-desc{font-size:.73rem;color:var(--text-light);line-height:1.5;margin-bottom:10px;font-style:italic;font-weight:300;}
.product-price{font-family:"Cormorant Garamond",serif;font-size:1.2rem;font-weight:600;color:var(--caramel);margin-bottom:12px;}
.spacer{flex:1;}

/* ── SIZE SELECTOR ── */
.size-label{font-size:.66rem;text-transform:uppercase;letter-spacing:2px;color:var(--text-light);margin-bottom:7px;}
.size-options{display:flex;gap:7px;margin-bottom:12px;}
.size-btn{width:36px;height:36px;border-radius:8px;border:1.5px solid var(--sand);background:var(--cream);color:var(--text-mid);font-size:.72rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:"Lato",sans-serif;}
.size-btn:hover{border-color:var(--caramel);color:var(--caramel);background:var(--blush);}
.size-btn.selected{background:var(--caramel);border-color:var(--caramel);color:#fff;box-shadow:0 2px 10px rgba(181,105,42,.3);}

/* ── ADD TO CART BUTTON ── */
.add-btn{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:11px 16px;background:linear-gradient(135deg,var(--caramel),var(--caramel-light));color:#fff;border:none;border-radius:10px;font-family:"Lato",sans-serif;font-size:.76rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;transition:all .25s;box-shadow:0 3px 14px rgba(181,105,42,.25);}
.add-btn:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 6px 20px rgba(181,105,42,.35);}
.add-btn:active{transform:translateY(0);}

/* ── ARROWS ── */
.carousel-arrow{position:absolute;top:38%;transform:translateY(-50%);background:var(--warm-white);border:1.5px solid var(--sand);color:var(--caramel);width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;box-shadow:0 4px 16px rgba(181,105,42,.12);transition:all .2s;}
.carousel-arrow:hover{background:var(--caramel);color:#fff;border-color:var(--caramel);}
.arrow-prev{left:-26px;}.arrow-next{right:-26px;}
@media(max-width:600px){.arrow-prev{left:-14px;}.arrow-next{right:-14px;}}
.carousel-dots{display:flex;justify-content:center;gap:8px;margin-top:18px;}
.dot{width:7px;height:7px;border-radius:50%;background:var(--sand);cursor:pointer;border:none;padding:0;transition:all .3s;}.dot.active{background:var(--caramel);transform:scale(1.3);}

/* ── CART SIDEBAR ── */
.cart-overlay{position:fixed;inset:0;background:rgba(61,43,26,.4);backdrop-filter:blur(3px);z-index:299;opacity:0;pointer-events:none;transition:opacity .3s;}
.cart-overlay.open{opacity:1;pointer-events:all;}
#cartSidebar{position:fixed;top:0;right:-420px;width:min(420px,100vw);height:100%;background:var(--warm-white);z-index:300;box-shadow:-8px 0 40px rgba(61,43,26,.18);display:flex;flex-direction:column;transition:right .35s cubic-bezier(.4,0,.2,1);}
#cartSidebar.open{right:0;}
.cart-header{padding:20px 22px;border-bottom:1px solid var(--caramel-pale);display:flex;align-items:center;justify-content:space-between;}
.cart-header h2{font-family:"Cormorant Garamond",serif;font-size:1.3rem;font-weight:500;color:var(--text-dark);}
.cart-close{background:none;border:none;font-size:1.5rem;color:var(--text-light);cursor:pointer;line-height:1;padding:4px;}
.cart-close:hover{color:var(--caramel);}
#cartList{flex:1;overflow-y:auto;padding:16px;}
.cart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:var(--text-light);font-size:.88rem;font-style:italic;}
.cart-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--caramel-pale);}
.cart-item-img{width:60px;height:75px;object-fit:cover;border-radius:8px;flex-shrink:0;border:1px solid var(--sand);}
.cart-item-img-placeholder{width:60px;height:75px;background:var(--blush);border-radius:8px;flex-shrink:0;}
.cart-item-info{flex:1;min-width:0;}
.cart-item-name{font-family:"Cormorant Garamond",serif;font-size:.95rem;font-weight:500;color:var(--text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cart-item-size{font-size:.7rem;color:var(--text-light);margin-top:2px;}
.cart-item-price{font-size:.9rem;font-weight:600;color:var(--caramel);margin-top:4px;font-family:"Cormorant Garamond",serif;}
.cart-item-controls{display:flex;align-items:center;gap:4px;flex-shrink:0;}
.qty-btn{width:26px;height:26px;border-radius:6px;border:1.5px solid var(--sand);background:var(--cream);color:var(--text-mid);font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;line-height:1;}
.qty-btn:hover{border-color:var(--caramel);color:var(--caramel);}
.qty-val{width:22px;text-align:center;font-size:.82rem;font-weight:600;}
.remove-btn{width:26px;height:26px;border-radius:6px;border:none;background:none;color:var(--text-light);font-size:1.1rem;cursor:pointer;margin-left:2px;display:flex;align-items:center;justify-content:center;transition:color .15s;line-height:1;}
.remove-btn:hover{color:#c0392b;}
#cartFooter{padding:16px 22px 24px;border-top:1px solid var(--caramel-pale);background:var(--warm-white);}
.cart-total-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;}
.cart-total-label{font-size:.8rem;text-transform:uppercase;letter-spacing:2px;color:var(--text-light);}
#cartTotal{font-family:"Cormorant Garamond",serif;font-size:1.4rem;font-weight:600;color:var(--caramel);}
.btn-checkout{display:block;width:100%;padding:14px;background:linear-gradient(135deg,var(--caramel),var(--caramel-light));color:#fff;border:none;border-radius:12px;font-family:"Lato",sans-serif;font-size:.82rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;cursor:pointer;text-align:center;transition:all .25s;box-shadow:0 4px 16px rgba(181,105,42,.3);}
.btn-checkout:hover{filter:brightness(1.07);transform:translateY(-1px);}

/* ── CHECKOUT MODAL ── */
.checkout-overlay{position:fixed;inset:0;background:rgba(61,43,26,.5);backdrop-filter:blur(4px);z-index:399;opacity:0;pointer-events:none;transition:opacity .3s;}
.checkout-overlay.open{opacity:1;pointer-events:all;}
#checkoutModal{position:fixed;top:50%;left:50%;transform:translate(-50%,-48%);width:min(480px,94vw);max-height:90vh;overflow-y:auto;background:var(--warm-white);border-radius:20px;box-shadow:0 24px 60px rgba(61,43,26,.25);z-index:400;padding:32px;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;}
#checkoutModal.open{opacity:1;pointer-events:all;transform:translate(-50%,-50%);}
.modal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;}
.modal-title{font-family:"Dancing Script",cursive;font-size:1.8rem;color:var(--caramel);}
.modal-close-btn{background:none;border:none;font-size:1.5rem;color:var(--text-light);cursor:pointer;line-height:1;}
.modal-close-btn:hover{color:var(--caramel);}
.form-group{margin-bottom:16px;}
.form-label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:2px;color:var(--text-light);margin-bottom:7px;}
.form-input{width:100%;padding:12px 14px;border:1.5px solid var(--sand);border-radius:10px;font-family:"Lato",sans-serif;font-size:.9rem;color:var(--text-dark);background:var(--cream);transition:border-color .2s;outline:none;}
.form-input:focus{border-color:var(--caramel);}
.order-summary{background:var(--cream);border-radius:10px;padding:14px;margin-bottom:20px;max-height:180px;overflow-y:auto;}
.order-summary-title{font-size:.68rem;text-transform:uppercase;letter-spacing:2px;color:var(--text-light);margin-bottom:10px;}
.summary-item{display:flex;justify-content:space-between;font-size:.82rem;padding:5px 0;border-bottom:1px solid var(--caramel-pale);color:var(--text-dark);}
.summary-item:last-child{border:none;}
.summary-total{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;border-top:1.5px solid var(--caramel-pale);}
.summary-total-label{font-size:.75rem;text-transform:uppercase;letter-spacing:2px;color:var(--text-light);}
.summary-total-val{font-family:"Cormorant Garamond",serif;font-size:1.3rem;font-weight:600;color:var(--caramel);}
.error-msg{font-size:.78rem;color:#c0392b;margin-bottom:12px;min-height:18px;}
#btnFinalizar{display:block;width:100%;padding:14px;background:linear-gradient(135deg,var(--caramel),var(--caramel-light));color:#fff;border:none;border-radius:12px;font-family:"Lato",sans-serif;font-size:.82rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all .25s;box-shadow:0 4px 16px rgba(181,105,42,.3);}
#btnFinalizar:hover:not(:disabled){filter:brightness(1.07);transform:translateY(-1px);}
#btnFinalizar:disabled{opacity:.6;cursor:default;transform:none;}

/* ── SUCCESS SCREEN ── */
#checkoutSuccess{display:none;flex-direction:column;align-items:center;text-align:center;gap:16px;padding:8px 0;}
.success-icon{width:64px;height:64px;background:linear-gradient(135deg,#25d366,#1ebe5d);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(37,211,102,.35);}
.success-title{font-family:"Dancing Script",cursive;font-size:1.8rem;color:var(--caramel);}
.success-subtitle{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1rem;color:var(--text-mid);}
.success-pedido{font-size:.78rem;color:var(--text-light);letter-spacing:1px;}
#btnPagarWA{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;background:linear-gradient(135deg,#25d366,#1ebe5d);color:#fff;border-radius:12px;text-decoration:none;font-family:"Lato",sans-serif;font-size:.82rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;box-shadow:0 4px 20px rgba(37,211,102,.35);transition:all .25s;margin-top:4px;}
#btnPagarWA:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 8px 26px rgba(37,211,102,.45);}
.success-note{font-size:.75rem;color:var(--text-light);font-style:italic;}

/* ── WA FLOAT ── */
.wa-float{position:fixed;bottom:28px;right:28px;z-index:100;background:var(--wa);width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 24px rgba(37,211,102,.45);text-decoration:none;transition:transform .25s,box-shadow .25s;animation:waPop .6s cubic-bezier(.34,1.56,.64,1) 1s both;}
.wa-float:hover{transform:scale(1.12);}
@keyframes waPop{from{opacity:0;transform:scale(.4);}to{opacity:1;transform:scale(1);}}

/* ── FOOTER ── */
footer{background:var(--blush);border-top:1px solid var(--caramel-pale);padding:28px 24px;text-align:center;margin-top:16px;}
footer .footer-logo{font-family:"Dancing Script",cursive;font-size:1.4rem;color:var(--caramel);margin-bottom:5px;}
footer p{font-size:.73rem;color:var(--text-light);letter-spacing:1px;}

/* ── ANIMATIONS ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
@keyframes shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-5px)}40%{transform:translateX(5px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}

/* ── Mobile hamburger ── */
.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:8px;width:44px;height:44px;flex-shrink:0;}
.hamburger span{display:block;width:22px;height:2px;background:var(--text-mid);border-radius:2px;transition:transform .25s,opacity .25s;}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0);}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
@media(max-width:768px){
  .hamburger{display:flex;}
  .cat-nav{position:fixed;top:72px;left:0;right:0;display:none;flex-direction:column;overflow-x:hidden;box-shadow:0 8px 32px rgba(61,43,26,.13);}
  .cat-nav.open{display:flex;}
  .cat-btn{width:100%;padding:15px 24px;justify-content:flex-start;border-bottom:1px solid var(--caramel-pale);}
  .cat-btn:last-child{border-bottom:none;}
}
/* ── CHECKOUT — novos campos ── */
.form-section-title{font-size:.68rem;text-transform:uppercase;letter-spacing:2px;color:var(--caramel);font-weight:700;margin:20px 0 14px;padding-top:16px;border-top:1px solid var(--caramel-pale);}
.form-row{display:flex;gap:12px;flex-wrap:wrap;}
.form-row .form-group{flex:1;}
.cep-wrap{position:relative;}
.cep-wrap .form-input{padding-right:36px;}
.cep-spinner{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;border:2px solid var(--caramel-pale);border-top-color:var(--caramel);border-radius:50%;display:none;}
.cep-spinner.active{display:block;animation:spin .7s linear infinite;}
@keyframes spin{to{transform:translateY(-50%) rotate(360deg);}}
.form-input[readonly]{background:var(--blush);color:var(--text-mid);cursor:default;}
.vendedor-feedback{font-size:.72rem;margin-top:5px;min-height:16px;}
.vendedor-feedback.ok{color:#2e7d32;}
.vendedor-feedback.err{color:#c62828;}
