:root{
  --purple-dark:#4A1A6E; --purple-main:#7B3FA0; --purple-light:#C084D4;
  --purple-pale:#F3E8FF; --purple-soft:#EDD9F7;
  --white:#FFF; --off-white:#FAFAFA; --gray-light:#F0F0F0; --gray-text:#555; --dark:#1A1A2E;
  --gold:#F5C842; --green-wa:#25D366; --pink-ig:#E1306C; --red-ifood:#EA1D2C;
  --shadow-soft:0 4px 24px rgba(123,63,160,.12);
  --shadow-hover:0 8px 40px rgba(123,63,160,.25);
  --radius:16px; --radius-sm:10px;
  --transition:all .3s cubic-bezier(.4,0,.2,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{
  font-family:'Poppins',sans-serif;background:var(--off-white);color:var(--dark);
  overflow-x:hidden;padding-bottom:96px;-webkit-tap-highlight-color:transparent;
}
img{max-width:100%;display:block}
button{font-family:inherit;cursor:pointer;border:none;background:none}
::-webkit-scrollbar{width:7px;height:7px}
::-webkit-scrollbar-track{background:var(--purple-pale)}
::-webkit-scrollbar-thumb{background:var(--purple-main);border-radius:10px}

/* NAVBAR */
#navbar{
  position:fixed;top:0;left:0;right:0;z-index:9000;
  background:rgba(255,255,255,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1.5px solid var(--purple-pale);
  box-shadow:0 2px 16px rgba(123,63,160,.07);
}
.nav-inner{max-width:1200px;margin:0 auto;padding:0 18px;height:64px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}

/* Logo pequena da Navbar redondinha */
.nav-logo-circle{
  width:42px;
  height:42px;
  border-radius:50%;
  overflow: hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 4px 14px rgba(123,63,160,.35);
}
.nav-logo-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.nav-logo-text{font-family:'Playfair Display',serif;font-weight:900;font-size:1rem;color:var(--purple-dark);line-height:1.1}
.nav-logo-text span{display:block;font-size:.62rem;font-family:'Poppins';font-weight:500;color:var(--purple-light);letter-spacing:1.8px;text-transform:uppercase}

.nav-links{display:flex;align-items:center;gap:4px;list-style:none}
.nav-links a{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 14px;font-size:.85rem;font-weight:600;color:var(--dark);
  text-decoration:none;border-radius:50px;transition:var(--transition);
}
.nav-links a:hover,.nav-links a.active{background:var(--purple-pale);color:var(--purple-dark)}
.nav-links a.is-wa{background:var(--green-wa);color:#fff;box-shadow:0 3px 10px rgba(37,211,102,.3)}
.nav-links a.is-wa:hover{background:#1fb558;color:#fff;transform:translateY(-1px)}
.nav-links a.is-ifood{background:var(--red-ifood);color:#fff;box-shadow:0 3px 10px rgba(234,29,44,.3)}
.nav-links a.is-ifood:hover{background:#c4101d;color:#fff;transform:translateY(-1px)}
.nav-links a.is-ig{background:linear-gradient(135deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);color:#fff}
.nav-links a.is-ig:hover{color:#fff;transform:translateY(-1px)}

.hamburger{display:none;flex-direction:column;gap:5px;padding:8px}
.hamburger span{display:block;width:24px;height:2.5px;background:var(--purple-dark);border-radius:2px;transition:var(--transition)}
.hamburger.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
.mobile-menu{display:none;flex-direction:column;background:#fff;border-top:1px solid var(--purple-pale);padding:14px 18px 22px;gap:6px}
.mobile-menu.open{display:flex}
.mobile-menu a{display:flex;align-items:center;gap:10px;padding:12px 14px;font-size:.95rem;font-weight:600;color:var(--dark);text-decoration:none;border-radius:12px}
.mobile-menu a:hover,.mobile-menu a:active{background:var(--purple-pale);color:var(--purple-dark)}
.mobile-menu a i{width:22px;text-align:center;color:var(--purple-main)}
.mobile-menu a.is-wa i{color:var(--green-wa)}
.mobile-menu a.is-ifood i{color:var(--red-ifood)}
.mobile-menu a.is-ig i{color:var(--pink-ig)}

@media(max-width:980px){
  .nav-links{display:none}
  .hamburger{display:flex}
}

/* HERO */
#home{
  min-height:78vh;
  background:linear-gradient(135deg,var(--purple-pale) 0%,#fff 50%,var(--purple-soft) 100%);
  display:flex;align-items:center;padding:96px 18px 50px;position:relative;overflow:hidden;
}
#home::before{content:'';position:absolute;top:-120px;right:-120px;width:460px;height:460px;background:radial-gradient(circle,rgba(192,132,212,.22),transparent 70%);border-radius:50%;animation:pulseBg 6s ease-in-out infinite}
#home::after{content:'';position:absolute;bottom:-80px;left:-80px;width:380px;height:380px;background:radial-gradient(circle,rgba(123,63,160,.13),transparent 70%);border-radius:50%;animation:pulseBg 8s ease-in-out infinite reverse}
@keyframes pulseBg{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.7}}
.hero-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center;position:relative;z-index:1;width:100%}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1.5px solid var(--purple-light);color:var(--purple-dark);font-size:.74rem;font-weight:700;padding:7px 16px;border-radius:50px;margin-bottom:18px;letter-spacing:.6px;text-transform:uppercase;box-shadow:var(--shadow-soft)}
.hero-badge i{color:var(--gold)}
.hero-title{font-family:'Playfair Display',serif;font-size:clamp(2.2rem,5.5vw,3.6rem);font-weight:900;line-height:1.08;color:var(--purple-dark);margin-bottom:18px}
.hero-title em{font-style:normal;color:var(--purple-main);position:relative;display:inline-block}
.hero-title em::after{content:'';position:absolute;bottom:2px;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--purple-light),var(--purple-main));border-radius:3px;opacity:.45}
.hero-sub{font-size:1.02rem;color:var(--gray-text);line-height:1.65;margin-bottom:28px;max-width:480px}
.hero-btns{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:32px}
.btn-primary{display:inline-flex;align-items:center;gap:10px;padding:14px 26px;background:linear-gradient(135deg,var(--purple-main),var(--purple-dark));color:#fff;border-radius:50px;font-size:.95rem;font-weight:700;text-decoration:none;transition:var(--transition);box-shadow:0 4px 18px rgba(123,63,160,.35)}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(123,63,160,.45)}
.btn-ifood{display:inline-flex;align-items:center;gap:10px;padding:14px 26px;background:var(--red-ifood);color:#fff;border-radius:50px;font-size:.95rem;font-weight:700;text-decoration:none;box-shadow:0 4px 18px rgba(234,29,44,.3);transition:var(--transition)}
.btn-ifood:hover{transform:translateY(-3px);background:#c4101d;box-shadow:0 10px 30px rgba(234,29,44,.45)}
.hero-stats{display:flex;gap:24px;flex-wrap:wrap;align-items:center}
.stat-item{text-align:left}
.stat-num{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:900;color:var(--purple-dark);line-height:1}
.stat-label{font-size:.7rem;color:var(--gray-text);font-weight:600;letter-spacing:.6px;text-transform:uppercase;margin-top:3px}
.stat-divider{width:1px;height:36px;background:var(--purple-pale)}

/* ESTRUTURA REVISADA DA LOGO PRINCIPAL E ANÉIS */
.hero-visual{display:flex;justify-content:center;align-items:center;position:relative}
.hero-logo-wrap{position:relative;width:260px;height:260px;display:flex;align-items:center;justify-content:center;border-radius:50%;overflow:visible !important;}

.hero-logo-ring{position:absolute;inset:-16px;border-radius:50%;border:2.5px dashed var(--purple-light);opacity:.6;animation:spin 22s linear infinite;z-index:1 !important;}
.hero-logo-ring2{position:absolute;inset:-34px;border-radius:50%;border:1.5px solid var(--purple-pale);animation:spin 32s linear infinite reverse;z-index:1 !important;}
@keyframes spin{to{transform:rotate(360deg)}}

/* Sua Imagem com o efeito flutuante original restaurado */
.hero-visual .hero-logo-main {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 50% !important;
  position: absolute !important;
  top: 0;
  left: 0;
  z-index: 5 !important;
  box-shadow: var(--shadow-hover);
  animation: float 4s ease-in-out infinite !important;
}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

@media(max-width:880px){
  .hero-inner{grid-template-columns:1fr;gap:32px;text-align:center}
  .hero-sub{margin-left:auto;margin-right:auto}
  .hero-btns{justify-content:center}
  .hero-stats{justify-content:center}
  .hero-logo-wrap{width:210px;height:210px}
}

/* BANNER STRIP */
.banner-strip{background:linear-gradient(135deg,var(--purple-dark),var(--purple-main));padding:16px 0;overflow:hidden}
.strip-track{display:flex;gap:40px;animation:marquee 22s linear infinite;white-space:nowrap;padding-left:40px}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.strip-item{display:inline-flex;align-items:center;gap:10px;color:#fff;font-size:.88rem;font-weight:500}
.strip-item i{color:var(--gold)}

/* SECTION BASE */
.section{padding:64px 18px}
.section-inner{max-width:1200px;margin:0 auto}
.section-label{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--purple-main);margin-bottom:8px}
.section-title{font-family:'Playfair Display',serif;font-size:clamp(1.7rem,4vw,2.6rem);font-weight:900;color:var(--purple-dark);line-height:1.15;margin-bottom:10px}
.section-desc{font-size:.98rem;color:var(--gray-text);max-width:540px;line-height:1.65}
.section-header{margin-bottom:32px}

/* CATEGORY TABS */
.cat-tabs{
  position:sticky;top:64px;z-index:500;
  display:flex;gap:8px;background:rgba(250,250,250,.95);backdrop-filter:blur(12px);
  padding:14px 0;margin-bottom:28px;overflow-x:auto;scrollbar-width:none;
  border-bottom:1px solid var(--purple-pale);
}
.cat-tabs::-webkit-scrollbar{display:none}
.cat-tab{
  padding:9px 20px;border:2px solid var(--purple-pale);background:#fff;border-radius:50px;
  font-size:.85rem;font-weight:600;color:var(--gray-text);white-space:nowrap;transition:var(--transition);
  display:inline-flex;align-items:center;gap:8px;
}
.cat-tab i{font-size:.9rem}
.cat-tab:hover{border-color:var(--purple-light);color:var(--purple-dark)}
.cat-tab.active{background:var(--purple-main);border-color:var(--purple-main);color:#fff;box-shadow:0 4px 14px rgba(123,63,160,.3)}

/* PRODUCTS GRID */
.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px}
.product-card{
  background:#fff;border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow-soft);transition:var(--transition);
  display:flex;flex-direction:column;position:relative;border:1.5px solid transparent;
}
.product-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover);border-color:var(--purple-pale)}
.product-img{position:relative;aspect-ratio:4/3;background:linear-gradient(135deg,var(--purple-pale),var(--purple-soft));overflow:hidden;display:flex;align-items:center;justify-content:center}
.product-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.product-card:hover .product-img img{transform:scale(1.07)}
.product-img-fallback{font-size:3.5rem;color:var(--purple-main);opacity:.55}
.product-badge{
  position:absolute;top:12px;left:12px;padding:5px 12px;border-radius:50px;
  font-size:.7rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;
  background:var(--white);color:var(--purple-dark);box-shadow:0 2px 8px rgba(0,0,0,.1);
}
.product-badge.is-500{background:var(--purple-main);color:#fff}
.product-badge.is-300{background:var(--purple-light);color:#fff}
.product-badge.is-new{background:var(--gold);color:var(--dark)}
.product-body{padding:18px 18px 14px;flex:1;display:flex;flex-direction:column}
.product-name{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:700;color:var(--purple-dark);margin-bottom:6px;line-height:1.2}
.product-tag{font-size:.7rem;font-weight:600;color:var(--purple-main);letter-spacing:.5px;text-transform:uppercase;margin-bottom:8px}
.product-desc{font-size:.88rem;color:var(--gray-text);line-height:1.5;margin-bottom:14px;flex:1}
.product-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 18px 18px}
.product-price{font-family:'Playfair Display',serif;font-size:1.35rem;font-weight:900;color:var(--purple-dark)}
.product-price small{font-size:.7rem;font-weight:500;color:var(--gray-text);font-family:'Poppins'}
.btn-add{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:10px 16px;background:linear-gradient(135deg,var(--purple-main),var(--purple-dark));
  color:#fff;border-radius:50px;font-size:.85rem;font-weight:700;
  box-shadow:0 4px 12px rgba(123,63,160,.3);transition:var(--transition);
}
.btn-add:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(123,63,160,.45)}
.btn-add:active{transform:scale(.96)}
.btn-add.added{background:var(--green-wa);animation:pop .35s ease}
@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.08)}100%{transform:scale(1)}}

/* SECTIONS BG */
#acai{background:var(--off-white)}
#brownies{background:#fff}

/* FLOATING CART BAR */
.cart-bar{
  position:fixed;bottom:14px;left:14px;right:14px;z-index:8000;
  background:linear-gradient(135deg,var(--purple-main),var(--purple-dark));color:#fff;
  border-radius:var(--radius);padding:14px 18px;
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  box-shadow:0 10px 36px rgba(74,26,110,.4);
  transform:translateY(140%);transition:transform .35s cubic-bezier(.4,0,.2,1);
  max-width:560px;margin:0 auto;
}
.cart-bar.show{transform:translateY(0)}
.cart-bar-left{display:flex;align-items:center;gap:12px;min-width:0}
.cart-bar-badge{
  width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.18);
  display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;position:relative;
}
.cart-bar-badge .count{
  position:absolute;top:-4px;right:-4px;background:var(--gold);color:var(--dark);
  font-size:.65rem;font-weight:800;min-width:18px;height:18px;border-radius:9px;
  display:flex;align-items:center;justify-content:center;padding:0 5px;border:2px solid var(--purple-dark);
}
.cart-bar-info{display:flex;flex-direction:column;min-width:0}
.cart-bar-label{font-size:.72rem;opacity:.85;letter-spacing:.5px;text-transform:uppercase;font-weight:600}
.cart-bar-total{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:900;line-height:1.1}
.cart-bar-cta{
  display:inline-flex;align-items:center;gap:8px;padding:11px 20px;background:#fff;color:var(--purple-dark);
  border-radius:50px;font-size:.88rem;font-weight:700;flex-shrink:0;transition:var(--transition);
}
.cart-bar-cta:hover{transform:scale(1.04)}

/* CART DRAWER + MODAL */
.overlay{
  position:fixed;inset:0;background:rgba(26,26,46,.55);backdrop-filter:blur(4px);
  z-index:9500;opacity:0;pointer-events:none;transition:opacity .3s ease;
}
.overlay.show{opacity:1;pointer-events:auto}

.drawer{
  position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);background:#fff;z-index:9600;
  display:flex;flex-direction:column;transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);
  box-shadow:-10px 0 40px rgba(0,0,0,.15);
}
.drawer.open{transform:translateX(0)}
.drawer-head{
  display:flex;align-items:center;justify-content:space-between;padding:18px 20px;
  border-bottom:1px solid var(--purple-pale);background:#fff;
}
.drawer-title{font-family:'Playfair Display',serif;font-size:1.35rem;font-weight:900;color:var(--purple-dark);display:flex;align-items:center;gap:10px}
.drawer-close{width:38px;height:38px;border-radius:50%;background:var(--purple-pale);color:var(--purple-dark);display:flex;align-items:center;justify-content:center;font-size:1rem;transition:var(--transition)}
.drawer-close:hover{background:var(--purple-light);color:#fff}
.drawer-body{flex:1;overflow-y:auto;padding:18px 20px;background:var(--off-white)}
.drawer-foot{padding:18px 20px;border-top:1px solid var(--purple-pale);background:#fff;box-shadow:0 -6px 20px rgba(0,0,0,.04)}

.cart-empty{padding:60px 20px;text-align:center;color:var(--gray-text)}
.cart-empty i{font-size:3rem;color:var(--purple-light);margin-bottom:14px;display:block}
.cart-empty p{font-size:.95rem;margin-bottom:6px}

.cart-item{
  display:flex;gap:12px;background:#fff;border-radius:var(--radius-sm);padding:12px;margin-bottom:12px;
  box-shadow:0 2px 10px rgba(123,63,160,.07);
}
.cart-item-img{
  width:64px;height:64px;border-radius:10px;background:var(--purple-pale);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.cart-item-img img{width:100%;height:100%;object-fit:cover}
.cart-item-img i{color:var(--purple-main);font-size:1.5rem;opacity:.55}
.cart-item-info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:space-between}
.cart-item-name{font-weight:600;font-size:.92rem;color:var(--dark);line-height:1.25;margin-bottom:4px}
.cart-item-price{font-size:.85rem;color:var(--purple-main);font-weight:700}
.cart-item-actions{display:flex;align-items:center;justify-content:space-between;margin-top:8px}
.qty-ctrl{display:inline-flex;align-items:center;background:var(--purple-pale);border-radius:50px;padding:2px}
.qty-ctrl button{
  width:28px;height:28px;border-radius:50%;background:#fff;color:var(--purple-dark);
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;transition:var(--transition);
}
.qty-ctrl button:hover{background:var(--purple-main);color:#fff}
.qty-ctrl span{padding:0 12px;font-weight:700;color:var(--purple-dark);font-size:.9rem;min-width:34px;text-align:center}
.cart-item-remove{color:#c33;font-size:.78rem;font-weight:600;padding:4px 8px;border-radius:6px;transition:var(--transition)}
.cart-item-remove:hover{background:#fdecea}

.cart-summary{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.cart-row{display:flex;justify-content:space-between;font-size:.9rem;color:var(--gray-text)}
.cart-row.total{font-family:'Playfair Display',serif;font-size:1.4rem;font-weight:900;color:var(--purple-dark);padding-top:8px;border-top:1.5px dashed var(--purple-pale);margin-top:6px}
.btn-checkout{
  width:100%;display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:15px;background:linear-gradient(135deg,var(--green-wa),#1aa84d);color:#fff;
  border-radius:50px;font-size:1rem;font-weight:700;box-shadow:0 6px 20px rgba(37,211,102,.35);transition:var(--transition);
}
.btn-checkout:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(37,211,102,.45)}
.btn-checkout:disabled{opacity:.5;cursor:not-allowed;transform:none}

/* CHECKOUT MODAL */
.modal{
  position:fixed;inset:0;z-index:9700;display:flex;align-items:flex-end;justify-content:center;
  pointer-events:none;
}
.modal.show{pointer-events:auto}
.modal-card{
  background:#fff;width:100%;max-width:520px;border-radius:24px 24px 0 0;
  max-height:92vh;overflow-y:auto;
  transform:translateY(100%);transition:transform .4s cubic-bezier(.4,0,.2,1);
}
.modal.show .modal-card{transform:translateY(0)}
@media(min-width:640px){
  .modal{align-items:center;padding:20px}
  .modal-card{border-radius:var(--radius);max-height:88vh}
}
.modal-head{padding:22px 22px 12px;position:sticky;top:0;background:#fff;z-index:2;border-bottom:1px solid var(--purple-pale);display:flex;align-items:center;justify-content:space-between}
.modal-title{font-family:'Playfair Display',serif;font-size:1.35rem;font-weight:900;color:var(--purple-dark)}
.modal-body{padding:18px 22px 26px}
.form-group{margin-bottom:14px}
.form-label{display:block;font-size:.8rem;font-weight:600;color:var(--purple-dark);margin-bottom:6px;letter-spacing:.3px}
.form-input,.form-textarea{
  width:100%;padding:12px 14px;border:1.5px solid var(--purple-pale);border-radius:12px;
  font-family:'Poppins';font-size:.95rem;color:var(--dark);background:var(--off-white);transition:var(--transition);
}
.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--purple-main);background:#fff;box-shadow:0 0 0 4px rgba(123,63,160,.1)}
.form-textarea{resize:vertical;min-height:72px}
.pay-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.pay-opt{
  border:1.5px solid var(--purple-pale);background:var(--off-white);border-radius:12px;
  padding:12px 8px;text-align:center;font-size:.78rem;font-weight:600;color:var(--gray-text);transition:var(--transition);
  display:flex;flex-direction:column;align-items:center;gap:6px;
}
.pay-opt i{font-size:1.2rem;color:var(--purple-main)}
.pay-opt.active{border-color:var(--purple-main);background:var(--purple-pale);color:var(--purple-dark)}
.pay-opt.active i{color:var(--purple-dark)}

.summary-box{background:var(--purple-pale);border-radius:12px;padding:14px;margin-bottom:18px}
.summary-box h4{font-size:.78rem;font-weight:700;color:var(--purple-dark);letter-spacing:1px;text-transform:uppercase;margin-bottom:10px}
.summary-line{display:flex;justify-content:space-between;font-size:.86rem;color:var(--gray-text);padding:4px 0}
.summary-line strong{color:var(--purple-dark)}
.summary-total{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:900;color:var(--purple-dark);margin-top:8px;padding-top:8px;border-top:1.5px dashed var(--purple-light);display:flex;justify-content:space-between}

/* FOOTER */
footer{background:var(--purple-dark);color:#fff;padding:40px 18px 24px;text-align:center}
footer p{font-size:.85rem;opacity:.85;margin:6px 0}
footer .foot-logo{font-family:'Playfair Display',serif;font-size:1.4rem;font-weight:900;margin-bottom:8px}
footer .foot-social{display:flex;justify-content:center;gap:14px;margin:16px 0}
footer .foot-social a{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.1rem;transition:var(--transition);text-decoration:none}
footer .foot-social a:hover{background:#fff;color:var(--purple-dark);transform:translateY(-3px)}

/* TOAST */
.toast{
  position:fixed;top:80px;left:50%;transform:translate(-50%,-20px);z-index:9999;
  background:var(--purple-dark);color:#fff;padding:12px 22px;border-radius:50px;
  font-size:.88rem;font-weight:600;box-shadow:0 10px 30px rgba(0,0,0,.2);
  opacity:0;pointer-events:none;transition:all .3s ease;display:flex;align-items:center;gap:8px;
}
.toast.show{opacity:1;transform:translate(-50%,0)}
.toast i{color:var(--gold)}

.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:translateY(0)}

/* CORREÇÃO DO CARRINHO / MODAL VAZANDO NO RODAPÉ */

/* 1. Garante que o modal de checkout comece totalmente escondido e fora da tela de rolagem */
.modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 9700 !important;
    display: flex !important;
    align-items: flex-end;
    justify-content: center;
    pointer-events: none;
    opacity: 0; /* Totalmente invisível por padrão */
    visibility: hidden; /* Remove do fluxo de foco enquanto fechado */
    transition: opacity .4s ease, visibility .4s ease;
}

/* 2. Só exibe o modal quando a classe .show for adicionada via JavaScript */
.modal.show {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

/* 3. Ajusta o efeito de subida do cartão do modal para não bugar o scroll da página */
.modal-card {
    background: #fff;
    width: 100%;
    max-width: 520px;
    border-radius: 24px 24px 0 0;
    max-height: 92vh;
    overflow-y: auto;
    transform: translateY(100%); /* Começa totalmente abaixo da tela */
    transition: transform .4s cubic-bezier(.4,0,.2,1);
}

.modal.show .modal-card {
    transform: translateY(0) !important;
}

/* 4. Evita que a barra inferior do carrinho flutuante empurre elementos ou quebre o limite inferior */
.cart-bar {
    position: fixed !important;
    bottom: 20px !important;
    left: 14px;
    right: 14px;
    z-index: 8000 !important;
    transform: translateY(150%); /* Esconde completamente abaixo da tela de início */
    transition: transform .35s cubic-bezier(.4,0,.2,1);
}

.cart-bar.show {
    transform: translateY(0) !important;
}
/* ==========================================================================
   INDICADOR DE STATUS (ABERTO / FECHADO)
   ========================================================================== */

/* Container para alinhar o badge no topo do conteúdo */
.status-container {
  display: inline-flex;
  margin-bottom: 12px;
}

/* Base do design do balão de status */
.status-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 16px;
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-radius: 30px;
  color: #ffffff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
}

/* Estado: Aberto (Verde Dinâmico) */
.status-badge.aberto {
  background: #22c55e;
  border: 1px solid #16a34a;
}

/* Efeito de pulso discreto para indicar que a loja está ativa em tempo real */
.status-badge.aberto::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  background: #ffffff;
  border-radius: 50%;
  animation: pulse-dot 1.5s infinite ease-in-out;
}

/* Estado: Fechado (Vermelho Elegante) */
.status-badge.fechado {
  background: #ef4444;
  border: 1px solid #dc2626;
}

/* Ícone de relógio caso queira adicionar no modo fechado via JS */
.status-badge.fechado i {
  font-size: 0.9rem;
}

/* Animação do pontinho pulsando quando aberto */
@keyframes pulse-dot {
  0% { transform: scale(0.8); opacity: 0.5; }
  50% { transform: scale(1.2); opacity: 1; }
  100% { transform: scale(0.8); opacity: 0.5; }
}