/* IBC Loja – visual da loja solidária */
:root{
  --ibc-cream:#FBF6EE; --ibc-cream-2:#F4EADB; --ibc-brown:#2B1B10; --ibc-brown-2:#4A2F1C;
  --ibc-gold:#B8862B; --ibc-gold-2:#D9AE55; --ibc-text:#3A2A1E; --ibc-muted:#7A6555;
  --ibc-green:#1F9D55; --ibc-radius:18px; --ibc-shadow:0 10px 30px -12px rgba(43,27,16,.25);
  --ibc-serif:"Fraunces",Georgia,"Times New Roman",serif;
}
body.home{background:var(--ibc-cream)}
body.home .site-content>.ast-container{max-width:100%;padding:0}
body.home #primary{margin:0;padding:0}
body.home .entry-content>*{margin-block:0}
.ibc{color:var(--ibc-text);font-size:17px;line-height:1.6}
.ibc *{box-sizing:border-box}
.ibc h1,.ibc h2,.ibc h3{font-family:var(--ibc-serif);color:var(--ibc-brown);letter-spacing:-.01em;line-height:1.12;margin:0 0 .5em}
.ibc p{margin:0 0 1em}
.ibc-wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.ibc-kicker{display:inline-flex;align-items:center;gap:.5em;font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ibc-gold)}
.ibc-kicker:before{content:"";width:28px;height:2px;background:currentColor}
.ibc-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:.95em 1.6em;border-radius:999px;font-weight:700;text-decoration:none!important;transition:transform .15s ease,background .2s ease,box-shadow .2s;min-height:48px}
.ibc-btn:hover{transform:translateY(-2px)}
.ibc-btn--primary{background:var(--ibc-brown);color:#fff!important;box-shadow:var(--ibc-shadow)}
.ibc-btn--primary:hover{background:var(--ibc-brown-2)}
.ibc-btn--ghost{border:2px solid var(--ibc-brown);color:var(--ibc-brown)!important}
.ibc-btn--whats{background:var(--ibc-green);color:#fff!important}

/* Hero */
.ibc-hero{background:radial-gradient(1200px 500px at 85% -10%,#F3E2C4 0,transparent 60%),var(--ibc-cream);padding:56px 0 64px;overflow:hidden}
.ibc-hero__grid{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center}
.ibc-hero h1{font-size:clamp(2.2rem,4.6vw,3.7rem);margin-top:.35em}
.ibc-hero h1 em{font-style:italic;color:var(--ibc-gold)}
.ibc-hero__lead{font-size:1.15rem;color:var(--ibc-muted);max-width:34em}
.ibc-hero__ctas{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 22px}
.ibc-checks{display:flex;flex-wrap:wrap;gap:8px 20px;list-style:none;margin:0;padding:0;font-size:.95rem;color:var(--ibc-brown-2);font-weight:600}
.ibc-checks li:before{content:"✓";color:var(--ibc-gold);margin-right:.4em;font-weight:800}
.ibc-hero__media{position:relative}
.ibc-hero__media img.ibc-hero__img{width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:28px;box-shadow:0 30px 60px -25px rgba(43,27,16,.45);display:block}
.ibc-hero__badge{position:absolute;left:-22px;bottom:-22px;width:120px;height:120px;border-radius:50%;box-shadow:var(--ibc-shadow);border:5px solid var(--ibc-cream);object-fit:cover;background:#2b1b10}
.ibc-hero__tag{position:absolute;right:16px;top:16px;background:rgba(255,255,255,.92);backdrop-filter:blur(6px);padding:10px 14px;border-radius:14px;font-size:.85rem;font-weight:700;color:var(--ibc-brown);box-shadow:var(--ibc-shadow)}
.ibc-hero__tag span{display:block;font-weight:500;color:var(--ibc-muted);font-size:.78rem}

/* Faixa de informações */
.ibc-info{background:var(--ibc-brown);color:#F6EBDD}
.ibc-info__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.ibc-info__item{display:flex;gap:14px;align-items:flex-start;padding:24px 20px;border-right:1px solid rgba(255,255,255,.1)}
.ibc-info__item:last-child{border-right:0}
.ibc-info__item svg{flex:none;color:var(--ibc-gold-2)}
.ibc-info__item strong{display:block;color:#fff;font-size:1rem}
.ibc-info__item span{font-size:.9rem;opacity:.8}

/* Cardápio */
.ibc-menu{padding:72px 0 40px}
.ibc-sec-head{text-align:center;max-width:680px;margin:0 auto 28px}
.ibc-sec-head h2{font-size:clamp(1.9rem,3.4vw,2.7rem)}
.ibc-sec-head p{color:var(--ibc-muted)}
.ibc-chips{position:sticky;top:0;z-index:20;display:flex;gap:10px;justify-content:center;flex-wrap:wrap;padding:12px 0;margin-bottom:12px;background:linear-gradient(var(--ibc-cream) 80%,transparent)}
.admin-bar .ibc-chips{top:32px}
.ibc-chips a{padding:.55em 1.1em;border-radius:999px;background:#fff;border:1px solid #E8DAC5;color:var(--ibc-brown)!important;font-weight:700;font-size:.92rem;text-decoration:none!important;transition:.2s}
.ibc-chips a:hover{background:var(--ibc-brown);color:#fff!important;border-color:var(--ibc-brown)}
.ibc-cat{padding:34px 0 18px;scroll-margin-top:80px}
.ibc-cat__head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px;border-bottom:1px dashed #E2D2BA;padding-bottom:12px}
.ibc-cat__head h3{font-size:1.75rem;margin:0}
.ibc-cat__head p{margin:0;color:var(--ibc-muted);font-size:.95rem}

/* Cards de produto (WooCommerce) */
.ibc ul.products,.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin:0!important;padding:0!important}
.ibc ul.products:before,.ibc ul.products:after,.woocommerce ul.products:before,.woocommerce ul.products:after{display:none!important}
.ibc ul.products li.product,.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important;background:#fff;border-radius:var(--ibc-radius);overflow:hidden;box-shadow:0 1px 0 #EFE3D1,0 12px 28px -18px rgba(43,27,16,.35);display:flex;flex-direction:column;padding:0 0 16px!important;transition:transform .2s ease,box-shadow .2s ease;text-align:left}
.ibc ul.products li.product:hover,.woocommerce ul.products li.product:hover{transform:translateY(-4px);box-shadow:0 1px 0 #EFE3D1,0 22px 40px -20px rgba(43,27,16,.45)}
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap{margin:0}
.woocommerce ul.products li.product a img{aspect-ratio:4/3;object-fit:cover;width:100%;margin:0!important;border-radius:0}
.woocommerce ul.products li.product .astra-shop-summary-wrap{padding:14px 16px 0;display:flex;flex-direction:column;flex:1}
.woocommerce ul.products li.product .ast-woo-product-category{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ibc-gold);font-weight:700}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--ibc-serif);font-size:1.12rem!important;color:var(--ibc-brown);line-height:1.25;margin:.2em 0 .35em}
.woocommerce ul.products li.product .price{color:var(--ibc-brown)!important;font-weight:800;font-size:1.15rem!important;margin-bottom:12px!important}
.woocommerce ul.products li.product .button{margin-top:auto!important;background:var(--ibc-brown)!important;color:#fff!important;border-radius:999px!important;padding:.8em 1.2em!important;font-weight:700;width:100%;text-align:center;min-height:44px;display:flex!important;align-items:center;justify-content:center}
.woocommerce ul.products li.product .button:hover{background:var(--ibc-gold)!important}
.woocommerce ul.products li.product .button.added{background:var(--ibc-green)!important}
.woocommerce ul.products li.product .added_to_cart{display:block;text-align:center;font-weight:700;font-size:.9rem;padding-top:8px;color:var(--ibc-green)!important}
.woocommerce ul.products li.product .ast-shop-product-out-of-stock{display:none}

/* Causa */
.ibc-cause{background:var(--ibc-brown);color:#EDE0CF;padding:80px 0;margin-top:48px}
.ibc-cause__grid{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center}
.ibc-cause img{width:100%;border-radius:24px;aspect-ratio:4/5;object-fit:cover;display:block}
.ibc-cause h2{color:#fff;font-size:clamp(1.9rem,3.4vw,2.6rem)}
.ibc-cause .ibc-kicker{color:var(--ibc-gold-2)}
.ibc-cause p{opacity:.9}
.ibc-cause blockquote{margin:24px 0 0;padding:0 0 0 18px;border-left:3px solid var(--ibc-gold);font-family:var(--ibc-serif);font-style:italic;font-size:1.2rem;color:#fff}
.ibc-cause blockquote cite{display:block;font-style:normal;font-family:inherit;font-size:.85rem;opacity:.7;margin-top:6px}

/* Como funciona */
.ibc-steps{padding:80px 0}
.ibc-steps__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:s}
.ibc-step{background:#fff;border-radius:var(--ibc-radius);padding:26px 22px;box-shadow:0 1px 0 #EFE3D1;position:relative}
.ibc-step:before{counter-increment:s;content:counter(s);display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--ibc-cream-2);color:var(--ibc-brown);font-family:var(--ibc-serif);font-weight:700;font-size:1.2rem;margin-bottom:14px}
.ibc-step h3{font-size:1.15rem;margin-bottom:.3em}
.ibc-step p{font-size:.95rem;color:var(--ibc-muted);margin:0}

/* FAQ + contato */
.ibc-faq{padding:0 0 80px}
.ibc-faq__grid{display:grid;grid-template-columns:1.3fr 1fr;gap:32px;align-items:start}
.ibc-faq details{background:#fff;border-radius:14px;padding:18px 22px;margin-bottom:12px;box-shadow:0 1px 0 #EFE3D1}
.ibc-faq summary{cursor:pointer;font-weight:700;color:var(--ibc-brown);list-style:none;display:flex;justify-content:space-between;gap:12px}
.ibc-faq summary::-webkit-details-marker{display:none}
.ibc-faq summary:after{content:"+";font-size:1.4rem;line-height:1;color:var(--ibc-gold)}
.ibc-faq details[open] summary:after{content:"–"}
.ibc-faq details p{margin:.7em 0 0;color:var(--ibc-muted)}
.ibc-contact{background:var(--ibc-cream-2);border-radius:24px;padding:30px}
.ibc-contact h3{font-size:1.5rem}
.ibc-contact p{color:var(--ibc-brown-2)}
.ibc-contact .ibc-btn{width:100%;margin-top:6px}

/* Avisos (produto, carrinho, checkout) */
.ibc-aviso{background:#FFF7E8;border:1px solid #F0DDB8;border-left:4px solid var(--ibc-gold);color:var(--ibc-brown);padding:12px 16px;border-radius:10px;margin:0 0 20px;font-size:.95rem}

/* Botões flutuantes */
.ibc-float{position:fixed;right:18px;bottom:18px;z-index:9999;display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.ibc-float a{display:flex;align-items:center;gap:8px;text-decoration:none!important;box-shadow:0 10px 25px -8px rgba(0,0,0,.35);transition:transform .2s}
.ibc-float a:hover{transform:scale(1.05)}
.ibc-float__whats{width:56px;height:56px;border-radius:50%;justify-content:center;background:#25D366;color:#fff!important}
.ibc-float__cart{background:var(--ibc-brown);color:#fff!important;border-radius:999px;padding:12px 16px 12px 14px;font-weight:700;font-size:.95rem}
.ibc-float__cart.is-empty{display:none}
.ibc-float__cart.bump{animation:ibcbump .6s ease}
.ibc-cart-count{background:var(--ibc-gold-2);color:var(--ibc-brown);border-radius:999px;min-width:24px;height:24px;display:inline-grid;place-items:center;font-size:.8rem;padding:0 6px}
@keyframes ibcbump{30%{transform:scale(1.15)}60%{transform:scale(.95)}}

/* Responsivo */
@media (max-width:1024px){
  .ibc ul.products,.woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ibc-steps__grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:782px){
  .admin-bar .ibc-chips{top:46px}
  .ibc{font-size:16px}
  .ibc-hero{padding:28px 0 48px}
  .ibc-hero__grid,.ibc-cause__grid,.ibc-faq__grid{grid-template-columns:1fr;gap:32px}
  .ibc-hero__media{order:-1}
  .ibc-hero__badge{width:84px;height:84px;left:12px;bottom:-20px}
  .ibc-info__grid{grid-template-columns:1fr}
  .ibc-info__item{border-right:0;border-bottom:1px solid rgba(255,255,255,.1);padding:16px 20px}
  .ibc-chips{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-inline:4px}
  .ibc-chips a{white-space:nowrap}
  .ibc ul.products,.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .woocommerce ul.products li.product .astra-shop-summary-wrap{padding:10px 12px 0}
  .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:1rem!important}
  .woocommerce ul.products li.product .button{font-size:.85rem;padding:.7em .6em!important}
  .ibc-cat__head{flex-direction:column;align-items:flex-start;gap:4px}
  .ibc-steps__grid{grid-template-columns:1fr}
  .ibc-cause{padding:56px 0}
  .ibc-cause img{aspect-ratio:4/3}
  .ibc-float__label{display:none}
}
@media (prefers-reduced-motion:reduce){.ibc *,.ibc-float a{transition:none!important;animation:none!important}}
/* Pronta entrega */
.ibc-aviso--pronta{background:#ECF8F0;border-color:#BFE6CD;border-left-color:#1F9D55;color:#14532D}
.woocommerce ul.products li.product{position:relative}
.ibc-badge{position:absolute;top:12px;left:12px;z-index:2;background:#1F9D55;color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:6px 10px;border-radius:999px;box-shadow:0 6px 14px -6px rgba(0,0,0,.4)}
