:root{--bg:#fffdf8;--tx:#1b1b1b;--soft:#4a4a4a;--pri:#0f5c5c;--on:#fff;--line:#c9c2b4;--card:#fff;--warn:#8a1c1c;--ok:#14602a}
*{box-sizing:border-box}
body{margin:0;font:18px/1.55 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--tx)}
.wrap{max-width:760px;margin:0 auto;padding:16px}
h1{font-size:1.7rem;margin:.2em 0}h2{font-size:1.3rem;margin:1.2em 0 .4em}h3{font-size:1.1rem;margin:.8em 0 .3em}
a{color:var(--pri);font-weight:600}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:4px solid #f2a516;outline-offset:2px}
.skip{position:absolute;left:-999px;top:0;background:#000;color:#fff;padding:12px;z-index:9}.skip:focus{left:8px;top:8px}
header.top{background:var(--pri);color:var(--on)}header.top .wrap{padding:14px 16px}header.top h1{margin:0}
.card{background:var(--card);border:2px solid var(--line);border-radius:14px;padding:14px;margin:12px 0}
label{display:block;font-weight:700;margin:12px 0 4px}
input,select,textarea{width:100%;font:inherit;padding:12px;border:2px solid #6b6b6b;border-radius:10px;background:#fff;color:#000;min-height:48px}
input[type=checkbox]{width:28px;height:28px;min-height:0;vertical-align:middle;margin-right:8px}
.chk{display:flex;align-items:center;font-weight:600;margin:10px 0}
button,.btn{font:inherit;font-weight:700;min-height:52px;padding:10px 18px;border-radius:12px;border:2px solid var(--pri);background:var(--pri);color:var(--on);cursor:pointer;text-decoration:none;display:inline-block}
button.sec,.btn.sec{background:#fff;color:var(--pri)}
button.mal{background:#fff;color:var(--warn);border-color:var(--warn)}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.row>*{flex:1 1 140px}
.msg{padding:12px;border-radius:10px;margin:10px 0;font-weight:700}.msg.ok{background:#e3f4e8;color:var(--ok)}.msg.err{background:#fbe4e4;color:var(--warn)}
.precio{font-weight:800}
.item{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border-bottom:1px solid var(--line);padding:10px 0}
.item:last-child{border:0}.item .d{color:var(--soft);font-size:.95rem}
.agot{opacity:.6}
.qty{display:flex;align-items:center;gap:8px}.qty button{min-width:52px;padding:6px}
.qty output{min-width:28px;text-align:center;font-weight:800}
.aviso{background:#fff3cf;border:2px solid #f2a516;border-radius:12px;padding:12px;font-weight:700}
.sticky{position:sticky;bottom:0;background:var(--bg);border-top:3px solid var(--pri);padding:10px 16px}
[hidden]{display:none!important}
@media(prefers-reduced-motion:no-preference){button{transition:filter .15s}button:hover{filter:brightness(1.1)}}
