/* Lapisan WhatsApp-order di atas desain Timeless */
[hidden]{display:none!important}
a,button,input,textarea,label{touch-action:manipulation}
:focus-visible{outline:2px solid #2563eb;outline-offset:2px}
.product{display:flex;flex-direction:column}
.product-body{display:flex;flex-direction:column;flex:1}
.product .moq{margin-bottom:12px}
.product .act{margin-top:auto}
.product .add{width:100%;min-height:42px;border:0;border-radius:11px;background:var(--sky);color:var(--blue);font-weight:800;font-size:.84rem;transition:background .18s,color .18s}
.product .add:hover{background:var(--blue);color:#fff}
.qstep{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;min-height:42px;border-radius:11px;background:var(--blue);color:#fff;overflow:hidden}
.qstep button{height:42px;border:0;background:transparent;color:#fff;font-size:1.15rem;font-weight:700}
.qstep button:hover{background:rgba(255,255,255,.14)}
.qstep output{text-align:center;font-weight:800;font-size:.82rem;white-space:nowrap}
.product.in{border-color:#b7cdf7;box-shadow:0 0 0 1px #b7cdf7}
.howto{margin:8px 0 0!important;font-size:.88rem;color:var(--muted)}
.cartbtn{display:inline-flex;align-items:center;gap:8px}
.cartbtn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cartbtn b{min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:#fff;color:var(--blue);font-size:.74rem;line-height:22px;text-align:center}
.cartbtn.bump b{animation:bump .35s ease}
@keyframes bump{50%{transform:scale(1.3)}}
.rfq-actions{display:flex;gap:10px;flex-wrap:wrap}
.rfq-actions .btn{min-height:46px}
.btn{min-height:44px}
.whatsapp{background:#12704a!important}

/* sticky bar & fab */
.cbar{position:fixed;left:0;right:0;bottom:0;z-index:35;background:#fff;border-top:1px solid var(--line);padding:10px 0 calc(10px + env(safe-area-inset-bottom));box-shadow:0 -10px 30px rgba(16,24,40,.08);animation:cup .3s cubic-bezier(.2,.7,.2,1)}
@keyframes cup{from{transform:translateY(100%)}}
.cbar-in{display:flex;align-items:center;justify-content:space-between;gap:12px}
.cbar-in p{margin:0;display:grid;line-height:1.3}
.cbar-in p b{font-size:.84rem}
.cbar-in p span{font-weight:800;font-size:1.05rem}
.wafab{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:34;width:54px;height:54px;border-radius:50%;background:#12704a;display:grid;place-items:center;box-shadow:0 12px 26px -10px rgba(16,24,40,.5);transition:transform .2s,bottom .3s}
.wafab:hover{transform:scale(1.06)}
.wafab svg{width:25px;height:25px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body.has-cart .wafab{bottom:calc(86px + env(safe-area-inset-bottom))}
body.has-cart footer{padding-bottom:110px}

/* drawer */
.scrim{position:fixed;inset:0;z-index:60;background:rgba(17,24,39,.45);animation:fade .2s}
@keyframes fade{from{opacity:0}}
.drawer{position:fixed;z-index:70;top:0;right:0;bottom:0;width:min(440px,100%);background:#fff;display:flex;flex-direction:column;transform:translateX(100%);visibility:hidden;transition:transform .3s cubic-bezier(.2,.7,.2,1),visibility 0s .3s}
.drawer.open{transform:none;visibility:visible;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.d-head{display:flex;align-items:center;justify-content:space-between;padding:calc(12px + env(safe-area-inset-top)) 14px 12px 20px;border-bottom:1px solid var(--line)}
.d-head h2{margin:0;font-size:1.2rem;letter-spacing:-.02em}
.d-x{width:44px;height:44px;border:0;border-radius:10px;background:transparent;display:grid;place-items:center}
.d-x:hover{background:var(--soft)}
.d-x svg{width:22px;height:22px;stroke:var(--ink);stroke-width:1.8;stroke-linecap:round}
.d-body{flex:1;overflow-y:auto;padding:6px 20px 20px;overscroll-behavior:contain;background:var(--soft)}
.lines{list-style:none;margin:0;padding:0}
.line{display:grid;grid-template-columns:52px 1fr auto;gap:4px 12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.line img{grid-row:1/3;width:52px;height:52px;object-fit:contain;background:#fff;border-radius:10px;border:1px solid var(--line)}
.line h3{margin:0;font-size:.86rem;line-height:1.3}
.line .sum{font-weight:800;font-size:.88rem;text-align:right}
.line .sub{grid-column:2/4;font-size:.74rem;color:var(--muted)}
.line .ctl{grid-column:2/4;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px}
.line .qstep{width:150px;grid-template-columns:38px 1fr 38px;min-height:38px}
.line .qstep button{height:38px}
.line .rm{border:0;background:none;color:#b42318;font-weight:700;font-size:.8rem;min-height:40px;text-decoration:underline;text-underline-offset:3px}
.d-empty{display:grid;gap:4px;padding:28px 0;color:var(--muted);font-size:.9rem}
.d-empty b{color:var(--ink)}
.d-form{display:grid;gap:14px;margin-top:18px}
.d-form label{display:grid;gap:6px;font-size:.84rem;font-weight:700;color:#344054}
.d-form input:not([type=radio]),.d-form textarea{font:inherit;font-weight:400;font-size:16px;border:1px solid #d0d5dd;border-radius:11px;padding:11px 12px;min-height:46px;background:#fff;color:var(--ink);resize:vertical}
.d-form input:focus,.d-form textarea:focus{outline:2px solid var(--blue);outline-offset:0;border-color:transparent}
.d-form fieldset{border:0;margin:0;padding:0}
.d-form legend{font-size:.84rem;font-weight:700;color:#344054;margin-bottom:6px}
.seg{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.seg label{position:relative;display:block}
.seg input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.seg span{display:grid;place-items:center;min-height:42px;border:1px solid #d0d5dd;border-radius:10px;background:#fff;font-size:.8rem;font-weight:700;color:#344054}
.seg input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}
.seg input:focus-visible+span{outline:2px solid var(--blue);outline-offset:2px}
.d-err{margin:0;color:#b42318;font-size:.84rem;font-weight:700}
.d-foot{display:grid;gap:10px;padding:14px 20px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}
.d-total{display:flex;justify-content:space-between;align-items:baseline;margin:0}
.d-total span{color:var(--muted);font-size:.86rem}
.d-total b{font-size:1.25rem}
.d-send{display:flex;align-items:center;justify-content:center;gap:9px;min-height:52px;border:0;border-radius:12px;background:#12704a;color:#fff;font-weight:800;font-size:.95rem;transition:background .18s}
.d-send:hover{background:#0d5a3b}
.d-send:disabled{background:#e4e7ec;color:#667085;cursor:not-allowed}
.d-send svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
.d-fine{margin:0;text-align:center;font-size:.74rem;color:var(--muted)}
.toast{position:fixed;left:50%;bottom:calc(92px + env(safe-area-inset-bottom));z-index:80;transform:translate(-50%,10px);opacity:0;pointer-events:none;background:var(--ink);color:#fff;padding:10px 16px;border-radius:10px;font-size:.86rem;font-weight:700;transition:opacity .2s,transform .2s;max-width:calc(100% - 32px)}
.toast.show{opacity:1;transform:translate(-50%,0)}

@media(max-width:1020px){.headtop{grid-template-columns:190px 1fr auto!important}.headtools{display:flex!important}#waHead{display:none}}
@media(max-width:680px){.headtop{grid-template-columns:1fr auto!important}.headtop .search{grid-column:1/-1;grid-row:2}.headtop .headtools{grid-column:2;grid-row:1;justify-self:end}.headtools{display:flex!important}.headtools #waHead{display:none}.cartbtn{height:42px;padding:0 12px;font-size:0}.cartbtn b{font-size:.74rem}.cartbtn svg{width:20px;height:20px}.product .add{font-size:.8rem}.qstep{grid-template-columns:34px 1fr 34px}.qstep output{font-size:.74rem}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
