/* mobile.css - fix comuni + layout TELEFONO (<=640px). Il desktop resta come prima. */
html{-webkit-text-size-adjust:100%}
body{overflow-x:hidden;min-height:100dvh}
img{max-width:100%;height:auto}
button:active,input:active,textarea:active,.card:active,.btnwa:active{filter:brightness(1.18)}
.moreb{display:block;width:100%;margin:12px 0 4px;min-height:48px;background:var(--card2);border:1px solid #343a49;color:var(--txt);border-radius:12px;font-size:14px;font-weight:600;cursor:pointer}
.moreb:active{background:#323848}
#totop{position:fixed;left:12px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:60;width:44px;height:44px;border-radius:999px;background:#23262e;border:1px solid #343a49;color:var(--txt);font-size:14px;opacity:0;pointer-events:none;transition:opacity .2s;box-shadow:0 4px 14px rgba(0,0,0,.4);cursor:pointer}
#totop.on{opacity:1;pointer-events:auto}
#totop:active{background:#323848}
/* zoom foto: usato sia su telefono sia su desktop */
#zoom{position:fixed;inset:0;z-index:95;background:rgba(6,7,10,.96);display:none;flex-direction:column;align-items:center;justify-content:center;padding:calc(12px + env(safe-area-inset-top)) 12px calc(16px + env(safe-area-inset-bottom));overscroll-behavior:contain}
#zoom.on{display:flex}
#zoom #zimg{max-width:100%;max-height:62dvh;object-fit:contain;border-radius:10px}
#zoom .zx{position:absolute;top:calc(10px + env(safe-area-inset-top));right:12px;width:44px;height:44px;border-radius:999px;background:#23262e;border:1px solid #343a49;color:#fff;font-size:17px;cursor:pointer}
#zoom .zb{margin-top:14px;width:100%;max-width:420px;text-align:center}
#zoom #znm{color:var(--txt);font-size:14px;line-height:1.4;margin-bottom:12px;max-height:4.2em;overflow:auto}
#zoom .zadd{min-height:48px;width:100%;background:var(--acc);color:#04070a;border:none;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer}
#zoom .zshare{min-height:44px;width:100%;margin-top:8px;background:transparent;color:#cfd3da;border:1px solid #343a49;border-radius:12px;font-size:14px;cursor:pointer}
.vshare{width:100%;min-height:44px;margin-top:8px;background:transparent;color:#cfd3da;border:1px solid #343a49;border-radius:11px;font-size:13.5px;cursor:pointer}
#zoom .zadd:active{background:#1fb857}
@media (prefers-reduced-motion: reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* ---------- SOLO TELEFONO ---------- */
@media (max-width:640px){
button,input,textarea{touch-action:manipulation}
button,input,textarea,a{min-height:44px}
input,textarea,.search input,#richieste textarea,.ci .fl input{font-size:16px}
.stickywrap{padding-top:env(safe-area-inset-top)}
header{padding:6px 8px 5px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;position:relative}
header h1{font-size:18px;letter-spacing:2px;margin:0;flex:none}
.sub{display:none}
.search{display:flex;gap:6px;margin:0;align-items:center;flex:1;min-width:0}
.search input{flex:1;min-width:0;height:44px;padding:0 12px}
#qx{flex:none;width:44px;min-width:44px;height:44px;border-radius:999px;background:var(--card);border:1px solid #2c2f38;color:var(--mut);font-size:15px;padding:0;display:none}
.sugg{position:absolute;left:8px;right:8px;top:100%;margin-top:4px;max-height:40vh;overflow:auto;z-index:40}
.sugg div{padding:12px 13px;min-height:44px}
nav{padding:4px 8px;gap:6px;scroll-padding-inline:8px}
nav button{min-height:44px;padding:7px 13px;font-size:13px}
main{padding:4px 8px 40px}
.grid{gap:7px;grid-template-columns:repeat(2,1fr)}
.card{border-radius:12px}
.card .b{padding:5px 5px 6px;gap:2px}
.card .nm{font-size:11px;line-height:1.18;-webkit-line-clamp:2;word-break:break-word}
.card .cd{display:block;font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.badge{font-size:8.5px;padding:1px 5px;line-height:1.15;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.price{font-size:12.5px;line-height:1.2}
.price .lgn{display:none}
.price .sh{display:inline}
.price small{font-size:9.5px}
.price.wp{font-size:11px;font-weight:600}
.wablock{min-height:38px;padding:4px 6px;gap:6px;border-radius:9px}
.wablock svg{flex:0 0 18px;width:18px;height:18px}
.wablock .wat1{font-size:10.5px}
.wablock .wat2{font-size:9px}
.card .b .addc{min-height:44px;font-size:10.5px;line-height:1.12;padding:2px 2px}
.filters button{min-height:44px;padding:8px 14px;font-size:13px}
.note,#info li,#richieste p{white-space:normal;overflow-wrap:anywhere}
#info{padding:16px 14px calc(26px + env(safe-area-inset-bottom))}
footer{padding:18px 14px calc(24px + env(safe-area-inset-bottom))}
#fab{min-height:44px}
}
