.tbc-cart-overlay[hidden]{display:none!important}
.tbc-cart-overlay{position:fixed;inset:0;z-index:100000;color:#173c2f;font-family:inherit}
.tbc-cart-backdrop{position:absolute;inset:0;background:rgba(12,34,23,.28);opacity:0;transition:opacity .4s ease-in-out}
.tbc-cart-panel{position:absolute;right:0;top:0;bottom:0;width:min(470px,100%);display:flex;flex-direction:column;background:#fefbf6;transform:translateX(100%);opacity:0;transition:transform .4s ease-in-out,opacity 1s;will-change:transform;overflow:hidden}
.tbc-cart-overlay.is-open .tbc-cart-panel{transform:translateX(0);opacity:1;transition:transform .4s cubic-bezier(.75,0,.175,1),opacity .4s}
.tbc-cart-overlay.is-open .tbc-cart-backdrop{opacity:1}
.tbc-cart-header{position:relative;display:block;width:100%;padding:22px 24px 18px;border-bottom:1px solid #dce7d7;flex-shrink:0}
.tbc-cart-header h2{display:grid;grid-template-columns:min-content auto;gap:5px;align-items:center;margin:0;color:#025b36;font-size:28px;font-weight:500;line-height:1.1}
.tbc-cart-header-count{display:inline-block;vertical-align:middle;white-space:nowrap;font-size:13px;font-weight:400;line-height:1.1;color:#63766c;margin-left:10px;letter-spacing:normal;text-transform:none}
.tbc-cart-header>button{position:absolute;top:-2px;right:0;border:1px solid #cad9cd;background:transparent;border-radius:50%;width:36px;height:36px;padding:10px;color:#025b36;cursor:pointer}
.tbc-cart-header>button svg{display:block;width:100%;height:100%;fill:none;stroke-width:12;transition:transform .3s ease;pointer-events:none}
.tbc-cart-header>button:hover svg{transform:rotate(90deg)}
.tbc-cart-body{display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden;padding:0}
.tbc-cart-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:18px 24px;scrollbar-width:none}
.tbc-cart-scroll::-webkit-scrollbar{display:none}
.tbc-cart-bottom{flex-shrink:0;padding:18px 24px max(18px,env(safe-area-inset-bottom));background:#fefbf6;border-top:1px solid #dce7d7}
.tbc-cart-primary{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:52px;text-decoration:none;border:1px solid #025b36;border-radius:8px;background:#025b36;color:#fff;font-family:inherit;font-size:15px;line-height:1.2;letter-spacing:.025em;font-weight:500;padding:14px 16px;cursor:pointer}
.tbc-cart-primary:hover{background:#174834;color:white}
.tbc-cart-primary .woocommerce-Price-amount,.tbc-cart-primary bdi{font:inherit;color:inherit}
.tbc-cart-checkout-note{font-size:12px;line-height:1.3;color:#61776a;margin:10px 0 0;text-align:center}
.tbc-cart-discounts{margin-top:16px;border-top:1px solid #173c2f}
.tbc-cart-discounts summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:28px 20px;font-size:13px;line-height:1.16;cursor:pointer;list-style:none;color:#173c2f}
.tbc-cart-discounts summary::-webkit-details-marker{display:none}
.tbc-cart-discounts summary svg{width:12px;height:12px;fill:none;stroke-width:12;flex-shrink:0}
.tbc-cart-discounts[open] .tbc-cart-discounts__vertical{display:none}
.tbc-cart-coupon{display:grid;gap:8px;margin:0;padding:0 20px 20px}
.tbc-cart-coupon label{font-size:13px;line-height:1.3}
.tbc-cart-coupon input{min-width:0;width:100%;border:1px solid #ccd8c6;border-radius:5px;background:transparent;padding:11px 12px;color:#173c2f;font:inherit;font-size:15px}
.tbc-cart-coupon button{background:#025b36;border:1px solid #025b36;border-radius:5px;color:white;font:inherit;font-size:14px;padding:12px 17px;cursor:pointer}
.tbc-cart-total-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 12px;font-size:14px;line-height:1.3}
.tbc-cart-total-row strong{font-weight:500}
.tbc-cart-discount{color:#025b36}
.tbc-cart-discount button{border:0;background:transparent;padding:3px;color:inherit;cursor:pointer}
.tbc-cart-empty{text-align:center;padding:48px 24px;flex:1}
.tbc-cart-empty h3{font-size:28px;font-weight:500;line-height:1.15;margin:15px 0 28px;color:#025b36}
.tbc-cart-message{font-size:14px;line-height:1.4;margin:0;padding:12px 24px;background:#e8eee2;color:#173c2f;border-bottom:1px solid #ccd8c6;flex-shrink:0}
.tbc-cart-message[hidden],.tbc-cart-recovery[hidden]{display:none}
.tbc-cart-message.is-error{background:#fff1ee;color:#9d2920}
.tbc-cart-recovery{padding:12px 24px;display:flex;gap:16px;align-items:center;background:#fff1ee;flex-shrink:0}
.tbc-cart-recovery button{border:1px solid #025b36;border-radius:5px;background:transparent;color:#025b36;padding:9px 12px;cursor:pointer;font:inherit}
.tbc-cart-recovery a{font-size:14px;color:#025b36;text-decoration:underline}
.tbc-cart-panel :focus-visible{outline:2px solid #025b36;outline-offset:3px}
.tbc-cart-panel .screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.tbc-cart-panel[aria-busy=true] .tbc-cart-body{opacity:.55;pointer-events:none}
.tbc-cart-panel[aria-busy=true]::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#dce7d7,#025b36,#dce7d7);background-size:200% 100%;animation:tbc-cart-loading 1.1s linear infinite}
.tbc-cart-panel.is-uncertain::after{display:none}
@keyframes tbc-cart-loading{to{background-position:-200% 0}}
.tbc-cart-quantity{display:flex;align-items:center;border:1px solid #cbd8c8;border-radius:6px;width:100px;height:32px;background:#fffefa}
.tbc-cart-quantity button{display:flex;align-items:center;justify-content:center;width:30px;min-height:30px;border:0;padding:0;background:transparent;color:#61776a;cursor:pointer}
.tbc-cart-quantity button:hover{color:#173c2f}
.tbc-cart-quantity svg{width:8px;height:8px;fill:none;stroke-width:12}
.tbc-cart-quantity>span{min-width:24px;flex:1;padding:0;font-size:13px;line-height:1;text-align:center}
.tbc-theme .tbc-cart-item__remove{margin-left:auto;font:inherit;font-size:12px;color:#61776a;text-decoration:underline;text-underline-offset:3px;border:0;background:transparent;padding:0;cursor:pointer}
.tbc-theme .tbc-cart-packs{min-width:0}
.tbc-theme .tbc-cart-pack:disabled{opacity:.4;cursor:not-allowed}
.tbc-theme .tbc-cart-gift__progress::-moz-progress-bar{background:#025b36;border-radius:9px}
@media(max-width:479px){.tbc-cart-header{padding:18px 18px 15px}.tbc-cart-scroll{padding:16px 18px}.tbc-cart-bottom{padding:14px 18px max(14px,env(safe-area-inset-bottom))}}
@media(max-width:359px){.tbc-cart-scroll{padding:14px}}
@media(prefers-reduced-motion:reduce){.tbc-cart-panel,.tbc-cart-overlay.is-open .tbc-cart-panel,.tbc-cart-backdrop,.tbc-cart-header>button svg{transition:none}.tbc-cart-panel[aria-busy=true]::after{animation:none}}

.tbc-theme .tbc-cart-return { display:flex; align-items:center; justify-content:center; gap:8px; margin:10px auto 0; padding:8px 12px; border:0; background:transparent; color:#025b36; font:inherit; font-size:14px; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.tbc-theme .tbc-cart-return svg { width:16px; height:16px; }
.tbc-theme .tbc-cart-error { padding:10px 12px; margin:8px 0; border:1px solid #e5b8b2; background:#fff2ef; color:#9d2922; border-radius:6px; font-size:14px; line-height:1.35; }
.tbc-theme .tbc-cart-error:empty { display:none; }
.tbc-theme .tbc-cart-gift { display:flex; gap:12px; align-items:center; position:relative; padding:15px 14px; border:1px solid #b4cfbb; border-radius:12px; background:linear-gradient(125deg,#e8f0e2,#f7f7ec); color:#025b36; margin:0 0 22px; }
.tbc-theme .tbc-cart-gift__art { flex:0 0 57px; color:#025b36; transform:rotate(-7deg); }
.tbc-theme .tbc-cart-gift__art svg { display:block; width:57px; height:65px; }
.tbc-theme .tbc-cart-gift__content { min-width:0; flex:1; }
.tbc-theme .tbc-cart-gift__eyebrow { display:flex; align-items:center; justify-content:space-between; gap:6px; font-size:10px; line-height:1.2; color:#41624c; }
.tbc-theme .tbc-cart-gift__eyebrow span { font-size:9px; letter-spacing:.04em; border:1px solid #a4bba3; border-radius:3px; padding:3px 4px; white-space:nowrap; }
.tbc-theme .tbc-cart-gift__title { margin:6px 0 4px; font-size:20px; font-weight:500; line-height:1.05; letter-spacing:-.02em; }
.tbc-theme .tbc-cart-gift__text { margin:0; font-size:13px; line-height:1.3; color:#36533f; }
.tbc-theme .tbc-cart-gift__progress { display:block; width:100%; height:5px; border:0; border-radius:9px; overflow:hidden; margin:10px 0 0; color:#025b36; background:#c9dac7; accent-color:#025b36; }
.tbc-theme .tbc-cart-gift__progress::-webkit-progress-bar { background:#c9dac7; border-radius:9px; }
.tbc-theme .tbc-cart-gift__progress::-webkit-progress-value { background:#025b36; border-radius:9px; }
.tbc-theme .tbc-cart-gift.is-unlocked { background:linear-gradient(125deg,#025b36,#173c2f); color:#fefbf6; }
.tbc-theme .tbc-cart-gift.is-unlocked :is(.tbc-cart-gift__art,.tbc-cart-gift__eyebrow,.tbc-cart-gift__text) { color:#fefbf6; }
.tbc-theme .tbc-cart-gift.is-unlocked .tbc-cart-gift__progress { accent-color:#e1eccc; }
.tbc-theme .tbc-cart-item { display:block; padding:0 0 22px; margin:0 0 22px; border-bottom:1px solid #dce7d7; color:#173c2f; }
.tbc-theme .tbc-cart-item:last-child { margin-bottom:0; border-bottom:0; }
.tbc-theme .tbc-cart-item__main { display:grid; grid-template-columns:86px minmax(0,1fr); gap:15px; align-items:start; }
.tbc-theme .tbc-cart-item__image { display:block; border-radius:8px; overflow:hidden; border:1px solid #e3e8dc; background:#eeeedd; }
.tbc-theme .tbc-cart-item__image img { width:100%; height:auto; aspect-ratio:1; object-fit:cover; display:block; }
.tbc-theme .tbc-cart-item__eyebrow { margin:1px 0 5px; font-size:9px; letter-spacing:.08em; color:#55725f; line-height:1.2; }
.tbc-theme .tbc-cart-item__name { display:block; font-size:16px; line-height:1.13; font-weight:500; text-decoration:none; color:#173c2f; }
.tbc-theme .tbc-cart-item__count { margin:7px 0 6px; font-size:13px; line-height:1.15; color:#61776a; }
.tbc-theme .tbc-cart-item__price { display:flex; align-items:center; flex-wrap:wrap; gap:5px 10px; }
.tbc-theme .tbc-cart-item__price strong { font-size:18px; font-weight:500; line-height:1.2; }
.tbc-theme .tbc-cart-item__saving { font-size:11px; color:#025b36; background:#e9f0e3; padding:2px 5px; border-radius:3px; }
.tbc-theme .tbc-cart-packs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; border:0; padding:0; margin:17px 0 0; }
.tbc-theme .tbc-cart-packs legend { font-size:12px; color:#4b6555; padding:0; margin:0 0 7px; }
.tbc-theme .tbc-cart-pack { position:relative; display:grid; justify-items:center; gap:2px; min-width:0; padding:8px 4px 9px; border:1px solid #cbd8c8; border-radius:7px; background:#fffefa; color:#173c2f; font:inherit; cursor:pointer; }
.tbc-theme .tbc-cart-pack[aria-pressed=true] { border:1.5px solid #025b36; background:#eaf0e2; box-shadow:inset 0 0 0 .5px #025b36; }
.tbc-theme .tbc-cart-pack__visual img { display:block; width:40px; height:40px; object-fit:cover; border-radius:4px; mix-blend-mode:multiply; }
.tbc-theme .tbc-cart-pack__label { font-size:13px; font-weight:500; line-height:1.15; }
.tbc-theme .tbc-cart-pack__price { font-size:12px; line-height:1.2; }
.tbc-theme .tbc-cart-pack__best { position:absolute; top:-9px; right:5px; left:5px; text-align:center; padding:2px 1px; border-radius:3px; background:#025b36; color:#fff; font-size:8px; line-height:1.1; letter-spacing:.04em; }
.tbc-theme .tbc-cart-item__bottom { display:flex; align-items:center; gap:10px; margin-top:14px; }
.tbc-theme .tbc-cart-item__qty-label { font-size:12px; color:#61776a; }
.tbc-theme .tbc-cart-item .cart__item__quantity { border:1px solid #cbd8c8; border-radius:6px; width:100px; height:32px; background:#fffefa; }
.tbc-theme .tbc-cart-item .cart__item__quantity button { width:30px; min-height:30px; }
.tbc-theme .tbc-cart-item .cart__item__quantity-field { min-width:24px; padding:0; font-size:13px; }
.tbc-theme .tbc-cart-item .tbc-cart-item__remove { margin-left:auto; font-size:12px; color:#61776a; text-decoration:underline; text-underline-offset:3px; }
.tbc-theme .tbc-cart-pack:focus-visible,.tbc-theme .tbc-cart-return:focus-visible { outline:2px solid #025b36; outline-offset:3px; }
.tbc-theme [data-tbc-busy=true] .tbc-cart-pack { pointer-events:none; opacity:.65; }
.tbc-theme #cart-drawer .cart__widget__title { font-size:13px; }
.tbc-theme #cart-drawer .cart__widgets { margin-top:16px; }
.tbc-theme #cart-drawer .cart-drawer__empty-message { color:#173c2f; }
.tbc-theme #cart-drawer .cart-drawer__empty-message h3 { color:#025b36; font-size:28px; }
@media(max-width:479px) {
 .tbc-theme #cart-drawer { width:100vw; --drawer-width:100vw; }
 .tbc-theme #cart-drawer .cart-drawer__head { padding:18px 18px 15px; }
 .tbc-theme #cart-drawer .cart-drawer__body { padding:16px 18px; }
 .tbc-theme #cart-drawer .cart-drawer__foot { padding:14px 18px max(14px,env(safe-area-inset-bottom)); }
 .tbc-theme .tbc-cart-gift { padding:12px 10px; gap:8px; }
 .tbc-theme .tbc-cart-gift__art { flex-basis:48px; }
 .tbc-theme .tbc-cart-gift__art svg { width:48px; height:57px; }
 .tbc-theme .tbc-cart-gift__eyebrow { font-size:9px; }
 .tbc-theme .tbc-cart-gift__title { font-size:19px; }
}
@media(max-width:359px) {
 .tbc-theme #cart-drawer .cart-drawer__body { padding:14px; }
 .tbc-theme .tbc-cart-item__main { grid-template-columns:72px minmax(0,1fr); gap:12px; }
 .tbc-theme .tbc-cart-item__name { font-size:15px; }
 .tbc-theme .tbc-cart-gift__eyebrow { flex-wrap:wrap; }
}

/* Palo Alto (theme.css) no carrinho da Shopify: os botões de quantidade em var(--text-alpha-50) e o "Remove" com 60% de opacidade. */
.tbc-cart-quantity button{color:rgba(48,40,32,.5);transition:color .3s}
.tbc-cart-quantity button:hover{color:#302820}
.tbc-theme .tbc-cart-item__remove{opacity:.6;text-decoration-thickness:1px;transition:opacity .3s}
.tbc-theme .tbc-cart-item__remove:hover{opacity:1;text-decoration:none}
/* Botão de checkout do carrinho da Shopify: "Checkout" e o total em peso 600 (botões do tema), com a bolinha "•" e 5px de cada lado (cart-drawer.css). */
.tbc-cart-primary{gap:0;font-weight:600}
.tbc-cart-primary .tbc-cart-checkout-separator{margin:0 5px}
