/* Tereré Club Smart Cart 2.0. All classes isolated with tc2. */
.tc2,.tc2 *,.tc2-page-wrap,.tc2-page-wrap *{box-sizing:border-box}
.tc2{font-family:inherit;color:#222c23;font-size:14px;line-height:1.45}
.tc2 button,.tc2 input,.tc2 select{font:inherit}
.tc2 a{color:#274b2b;text-decoration:none}
.tc2 a:hover{text-decoration:underline}
.tc2 h2,.tc2 h3,.tc2 p{margin:0}
.tc2 .tc2-muted{font-size:12px;color:#667469;line-height:1.5}
.tc2 button{cursor:pointer}
.tc2 button:focus-visible,.tc2 a:focus-visible,.tc2 input:focus-visible,.tc2 select:focus-visible{outline:2px solid #2d7f39;outline-offset:2px}
.tc2-scroll-lock{overflow:hidden!important}
.tc2-drawer{position:fixed;inset:0;z-index:2147482000;pointer-events:none;visibility:hidden}
.tc2-drawer.tc2-open{visibility:visible;pointer-events:auto}
.tc2-backdrop{position:absolute;inset:0;background:rgba(12,28,15,.52);opacity:0;transition:opacity .22s ease}
.tc2-open .tc2-backdrop{opacity:1}
.tc2-panel{position:absolute;right:0;top:0;bottom:0;width:min(100%,448px);max-width:100%;display:flex;flex-direction:column;background:#fff;transform:translateX(105%);transition:transform .25s ease;box-shadow:-8px 0 36px rgba(0,0,0,.18);overflow:hidden;outline:none}
.tc2-open .tc2-panel{transform:translateX(0)}
.tc2-header{padding:20px;display:flex;justify-content:space-between;align-items:flex-start;gap:15px;border-bottom:1px solid #e9eee9;flex:0 0 auto;background:#fff}
.tc2-header h2{font-size:22px;line-height:1.2;font-weight:750;margin:0!important}
.tc2-header p{margin:5px 0 0;font-size:12px;color:#617465}
.tc2-close{background:transparent!important;border:0!important;font-size:30px!important;min-height:38px;min-width:38px;color:#37473d!important;line-height:1!important;padding:2px!important}
.tc2-drawer .tc2-body{flex:1;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:0 20px 14px}
.tc2-footer{background:#fff;flex:0 0 auto;border-top:1px solid #e9eee9;padding:15px 20px max(16px,env(safe-area-inset-bottom));box-shadow:0 -3px 15px rgba(0,0,0,.035)}
.tc2-alert{background:#fff3f1;border-left:3px solid #bb4a40;border-radius:5px;padding:11px 13px;margin:10px 0;color:#87382e;font-size:13px}
.tc2-alert[hidden]{display:none}
.tc2-item{display:grid;grid-template-columns:84px minmax(0,1fr);gap:13px;padding:19px 0;border-bottom:1px solid #eaf0ea}
.tc2-image{display:flex;width:84px;height:91px;align-items:center;justify-content:center;border:1px solid #e6ece6;border-radius:11px;overflow:hidden;background:white}
.tc2-image img{max-width:100%;max-height:100%;object-fit:contain}
.tc2-item-info{min-width:0}
.tc2-item-top{display:flex;align-items:flex-start;gap:9px}
.tc2 .tc2-name{font-size:14px;font-weight:700;line-height:1.35;color:#213325;flex:1;overflow-wrap:anywhere}
.tc2-remove{background:transparent!important;border:0!important;color:#7a8580!important;font-size:25px;min-width:32px;min-height:32px;line-height:1!important;padding:1px!important}
.tc2-opt{margin-top:3px}
.tc2-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:10px}
.tc2-qty{display:inline-flex;align-items:center;border:1px solid #d8e1d8;border-radius:10px;overflow:hidden;height:38px}
.tc2-qty button{border:0!important;background:#f3f7f3!important;color:#277a30!important;min-width:36px;height:36px;padding:0!important;font-size:20px!important}
.tc2-qty input{border:0!important;box-shadow:none!important;background:white!important;width:43px!important;min-width:0!important;max-width:43px!important;height:36px!important;text-align:center!important;font-size:13px!important;padding:0!important;border-radius:0!important;appearance:textfield}
.tc2-qty input::-webkit-inner-spin-button,.tc2-qty input::-webkit-outer-spin-button{appearance:none;margin:0}
.tc2-price{color:#367d31;font-size:17px;font-weight:800;text-align:right;white-space:nowrap}
.tc2-price small{display:block;font-size:11px;font-weight:400}
.tc2-section{border-top:1px solid #e9eee9;margin-top:13px;padding:18px 0 9px}
.tc2-section-title{font-weight:750;font-size:15px!important;margin:0 0 6px!important;line-height:1.3}
.tc2-cep-row{display:flex;gap:8px;margin-top:12px}
.tc2-cep-row input,.tc2-manual input,.tc2-manual select{background:#fff!important;border:1px solid #d6e1d8!important;border-radius:9px!important;box-shadow:none!important;min-width:0!important;width:100%!important;min-height:44px!important;padding:9px 11px!important;font-size:14px!important;color:#273e29!important}
.tc2-cep-row input{flex:1}
.tc2-outline{display:inline-flex;align-items:center;justify-content:center;border:1px solid #65a83a!important;border-radius:9px!important;color:#397f2c!important;background:#fff!important;font-size:13px!important;font-weight:700!important;padding:10px 13px!important;min-height:44px;white-space:nowrap}
.tc2-outline.tc2-inline{margin-top:20px}
.tc2-location{margin-top:8px!important}
.tc2-manual{display:grid;grid-template-columns:125px 1fr;gap:8px;margin-top:9px}
.tc2-manual[hidden]{display:none}
.tc2-quotes{margin-top:9px}
.tc2-quote{display:flex!important;align-items:center!important;gap:10px!important;padding:11px!important;margin:7px 0!important;border:1px solid #e1eae2!important;border-radius:10px!important;cursor:pointer!important;flex-wrap:nowrap}
.tc2-quote:has(input:checked){border-color:#69a93f!important;background:#f5fbf2}
.tc2-quote input[type=radio]{width:18px!important;height:18px!important;flex:0 0 18px!important;accent-color:#66b233!important;margin:0!important}
.tc2-quote-info{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0;font-size:13px}
.tc2-quote-info strong{font-weight:750}
.tc2-quote-info small{font-size:11px;color:#63716a;overflow-wrap:anywhere}
.tc2-quote-cost{font-size:13px;font-weight:800;color:#357b2e;text-align:right}
.tc2-active-coupon{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#f4f9f2;padding:10px 13px;border-radius:8px;margin-top:10px;font-weight:700}
.tc2-plain{border:0!important;background:transparent!important;color:#436c48!important;font-size:13px!important;padding:7px!important;text-decoration:none!important}
.tc2-rec{display:grid;grid-template-columns:63px minmax(0,1fr);gap:12px;padding:11px 0;border-bottom:1px solid #edf0ed}
.tc2-rec-image{display:flex;align-items:center;justify-content:center;width:63px;height:69px;border:1px solid #e8eee7;border-radius:8px;overflow:hidden}
.tc2-rec-image img{max-width:100%;max-height:100%;object-fit:contain}
.tc2-rec-details{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}
.tc2-rec-title{font-weight:650;font-size:12px;line-height:1.35;overflow-wrap:anywhere}
.tc2-rec-price{font-weight:700;color:#3c7c34;font-size:13px}
.tc2-rec-btn{background:#e8f4e5!important;border:0!important;border-radius:7px!important;color:#337632!important;font-size:12px!important;font-weight:750!important;padding:7px 10px!important}
.tc2-total-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:7px 0;color:#25372a;font-size:14px}
.tc2-total-row strong{font-size:17px;white-space:nowrap}
.tc2-total-detail{font-size:13px;color:#516153}
.tc2-total-detail strong{font-size:13px}
.tc2-note{font-size:11px;line-height:1.5;color:#728070;margin:10px 0 13px!important}
.tc2-primary{display:flex!important;align-items:center;justify-content:center;padding:12px 16px;min-height:48px;background:#66ad30!important;border:1px solid #66ad30!important;border-radius:10px!important;color:#fff!important;font-size:15px;font-weight:800!important;text-align:center;text-decoration:none!important;width:100%;cursor:pointer}
.tc2-primary:hover{background:#4f9225!important;text-decoration:none!important}
.tc2-disabled{pointer-events:auto;opacity:.4;cursor:not-allowed}
.tc2-secondary{display:flex;align-items:center;justify-content:center;border:1px solid #d5e0d6!important;border-radius:10px!important;background:#fff;color:#35563a!important;margin-top:9px;min-height:40px;font-size:13px!important;font-weight:650!important}
.tc2-drawer .tc2-plain{display:block;margin:7px auto 0}
.tc2-warning{font-size:12px;color:#a46224;line-height:1.5;margin-top:6px!important}
.tc2-empty{text-align:center;padding:45px 10px}
.tc2-empty-icon{font-size:42px;color:#679e63;line-height:1.1}
.tc2-empty h3{font-size:19px;margin:12px 0 9px!important}
/* Complete cart route */
.tc2-page-wrap{padding:21px 0 70px;background:#f7f9f6;min-height:54vh}
.tc2-page-wrap>.container{max-width:1180px}
.tc2-crumb{display:flex;gap:8px;align-items:center;color:#758178;font-size:12px;margin:9px 0 21px}
.tc2-crumb a{color:#49764c}
.tc2-page-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}
.tc2-page-title h1{font-size:30px;margin:0;color:#1e3324;font-weight:750}
.tc2-page-title p{font-size:13px;color:#728074;margin-top:5px}
.tc2-shop{font-size:13px;color:#3d8535;font-weight:700;white-space:nowrap}
.tc2-page{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,350px);align-items:start;gap:22px}
.tc2-main,.tc2-side-inner{border:1px solid #e6ece5;background:#fff;border-radius:13px;box-shadow:0 8px 22px rgba(30,55,35,.03)}
.tc2-main{padding:8px 24px 23px;min-width:0}
.tc2-side{position:sticky;top:20px}
.tc2-side-inner{padding:23px}
.tc2-side-inner h2{font-size:20px;margin:0 0 19px;font-weight:750}
.tc2-secure{font-size:11px;color:#617466;line-height:1.6;margin:12px 0 0}
.tc2-page .tc2-item{grid-template-columns:100px minmax(0,1fr);padding:20px 0}
.tc2-page .tc2-image{width:100px;height:108px}
.tc2-page .tc2-body{width:100%}
.tc2-page .tc2-section{max-width:100%}
@media(max-width:820px){.tc2-page{grid-template-columns:minmax(0,1fr)}.tc2-side{position:static}.tc2-page-title h1{font-size:24px}}
@media(max-width:540px){.tc2-panel{width:100vw}.tc2-header{padding:17px}.tc2-drawer .tc2-body{padding:0 15px 10px}.tc2-footer{padding:12px 15px max(16px,env(safe-area-inset-bottom))}.tc2-page-wrap{padding:12px 0 50px}.tc2-page-wrap>.container{padding-left:12px;padding-right:12px}.tc2-page-title{display:block}.tc2-shop{display:inline-block;margin-top:12px}.tc2-main{padding:2px 14px 20px}.tc2-side-inner{padding:17px}.tc2-page .tc2-item{grid-template-columns:79px minmax(0,1fr);gap:10px}.tc2-page .tc2-image{width:79px;height:86px}.tc2-quote{gap:8px!important;padding:9px!important}.tc2-price{font-size:15px}}
@media(prefers-reduced-motion:reduce){.tc2-panel,.tc2-backdrop{transition:none}}

/* Visible feedback during server-confirmed quantity updates. */
.tc2-qty[aria-busy="true"]{opacity:.7;transition:opacity .12s ease}
