*{box-sizing:border-box}body{margin:0;background:#111;color:#f7f7f7;font:15px/1.5 Arial,sans-serif}button,.btn{background:#f4db22;color:#111;border:0;border-radius:5px;padding:11px 15px;font-weight:800;cursor:pointer;text-decoration:none}button.secondary{background:#333;color:white}input,select,textarea{width:100%;padding:11px;background:#242424;color:white;border:1px solid #555;border-radius:5px;font:inherit}label{display:block;margin:8px 0}h1{font-size:24px}h1 span,.accent{color:#f4db22}.admin{max-width:1050px;margin:auto;padding:25px}.top,.item,.actions{display:flex;align-items:center;justify-content:space-between;gap:15px}.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.edit{display:grid;gap:12px;background:#191919;padding:18px;border:1px solid #333;border-radius:9px}fieldset{border:1px solid #555}fieldset label{display:inline-flex;align-items:center;gap:5px;margin-right:18px}fieldset input,.photo input{width:auto}.photo{display:inline-flex;align-items:center;gap:8px;margin-right:20px}.photo img{width:85px;height:70px;object-fit:cover}.item{padding:12px 0;border-bottom:1px solid #333}.item small{display:block;color:#aaa}.actions a{color:#f4db22}.error{color:#ff9c9c}.success{color:#a8e9b1}.catalog{max-width:1150px;margin:auto;padding:14px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.card{background:#1d1d1d;border:1px solid #3d3d3d;border-radius:9px;overflow:hidden;cursor:pointer;color:inherit;text-align:left;padding:0}.card img{display:block;width:100%;aspect-ratio:4/3;object-fit:contain;background:#282828}.card .info{padding:12px}.card b{display:block}.card .price{color:#f4db22;font-size:21px;font-weight:800}.card small{color:#bbb}.modal{position:fixed;inset:0;background:#000b;display:none;align-items:center;justify-content:center;padding:14px;z-index:9999}.modal.open{display:flex}.dialog{width:min(860px,100%);max-height:94vh;overflow:auto;background:#181818;border:1px solid #555;border-radius:10px;padding:20px;position:relative}.close{position:absolute;right:10px;top:10px;background:#333;color:#fff}.hero{width:100%;max-height:370px;object-fit:contain;background:#252525}.thumbs{display:flex;gap:8px;overflow:auto}.thumbs button{padding:0;background:none}.thumbs img{width:90px;height:70px;object-fit:cover}.meta{color:#bbb}.specs{white-space:pre-wrap}.empty{color:#bbb;padding:30px;text-align:center}@media(max-width:700px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.top{align-items:flex-start}.card .info{padding:9px}.dialog{padding:12px}}@media(max-width:440px){.cards{grid-template-columns:1fr}.admin{padding:12px}}

/* Zoom et notation L'OC SURF */
.product-rating{color:#f4db22;font-size:22px;letter-spacing:2px;line-height:1.5}#locsurf-zoom{position:fixed;inset:0;background:rgba(0,0,0,.96);z-index:20000;display:none;align-items:center;justify-content:center;touch-action:none}#locsurf-zoom.open{display:flex}#locsurf-zoom .zoom-viewport{position:absolute;inset:55px 12px 72px;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none;cursor:grab}#locsurf-zoom .zoom-viewport img{max-width:100%;max-height:100%;object-fit:contain;transform-origin:center;user-select:none;-webkit-user-drag:none;pointer-events:none}#locsurf-zoom .zoom-close{position:absolute;right:15px;top:12px;z-index:2;background:#333;color:white}#locsurf-zoom .zoom-actions{position:absolute;bottom:15px;display:flex;gap:12px}#locsurf-zoom .zoom-actions button{min-width:48px}
