/* ===== Cravo & Canela — camada própria (sem depender de backend) ===== */

/* toast */
.cc-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,12px);background:#1a1208;color:#fff;padding:12px 20px;border-radius:10px;font-weight:700;font-size:14px;z-index:9999;box-shadow:0 8px 22px rgba(0,0,0,.25);opacity:0;transition:opacity .25s ease,transform .25s ease;pointer-events:none;max-width:90vw}
.cc-toast.show{opacity:1;transform:translate(-50%,0)}

/* carrossel genérico (substitui o Owl Carousel) */
.owl-carousel{opacity:1!important;visibility:visible!important}
.owl-carousel,.carousel-default{display:flex!important;flex-wrap:nowrap;overflow:auto!important;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.owl-carousel::-webkit-scrollbar,.carousel-default::-webkit-scrollbar{display:none}
.owl-carousel>*,.carousel-default>*{scroll-snap-align:start;flex:0 0 auto}

.cc-car-wrap{position:relative}
.cc-arrow{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.92);border:1px solid rgba(0,0,0,.08);display:grid;place-items:center;cursor:pointer;z-index:5;box-shadow:0 4px 12px rgba(0,0,0,.15);transition:transform .15s ease,box-shadow .15s ease}
.cc-arrow:hover{transform:translateY(-50%) scale(1.08)}
.cc-arrow.l{left:6px}
.cc-arrow.r{right:6px}
.cc-arrow svg{width:16px;height:16px}
@media (max-width:760px){.cc-arrow{width:32px;height:32px}}

.cc-dots{position:absolute;left:0;right:0;bottom:14px;display:flex;justify-content:center;gap:8px;z-index:5}
.cc-dots button{width:9px;height:9px;border-radius:50%;border:0;background:rgba(255,255,255,.55);cursor:pointer;padding:0;transition:transform .15s,background .15s}
.cc-dots button.on{background:#fff;transform:scale(1.25)}

/* mini-cart items (nosso markup) */
.cc-ci{display:flex;align-items:center;gap:10px;padding:10px 15px;border-bottom:1px solid #eee}
.cc-ci img{width:52px;height:52px;object-fit:contain;flex:none;background:#f7f7f5;border-radius:8px}
.cc-ci .cc-name{font-weight:700;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cc-ci .cc-meta{font-size:12px;color:#888;display:flex;align-items:center;gap:8px;margin-top:4px}
.cc-ci .cc-qtybtn{border:1px solid #ddd;background:#fff;width:22px;height:22px;border-radius:5px;cursor:pointer;line-height:1;font-weight:700}
.cc-ci .cc-rm{border:0;background:none;font-size:20px;line-height:1;cursor:pointer;color:#999;padding:4px}
.cc-ci .cc-rm:hover{color:#c22b22}

/* hover/click nos cards de produto */
.item-product{transition:transform .2s ease,box-shadow .2s ease;border-radius:10px}
.item-product:hover{transform:translateY(-5px)}
.item-image{position:relative;overflow:hidden}
.item-image img{transition:transform .35s ease}
.item-product:hover .item-image img{transform:scale(1.05)}
.btn-product{transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}
.btn-product:hover{filter:brightness(1.07)}
.btn-product:active{transform:translateY(1px)}

/* modal simples (sem Bootstrap JS) */
.modal.cc-open{display:block}
.cc-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1040;opacity:0;transition:opacity .15s ease}
.cc-backdrop.show{opacity:1}

/* carrossel "Blog / Quem somos / ..." — imagens sem altura definida ficavam invisíveis */
#banner-layout-novo .item{aspect-ratio:333/600;overflow:hidden}
#banner-layout-novo .banner-container{width:100%;height:100%}
#banner-layout-novo .banner-container img{width:100%!important;height:100%!important;object-fit:cover;display:block}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
