.shop{padding:120px 0 100px}
.shop-head{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;margin-bottom:28px}
.shop-head h1{font-size:clamp(40px,5vw,72px)}
.shop-head p{color:var(--ink-2);margin-top:10px;max-width:56ch}
.search{position:relative;min-width:min(360px,100%)}
.search input{width:100%;min-height:50px;border-radius:999px;border:1px solid var(--line);background:#fff;padding:0 18px 0 46px;font-size:16px}
.search svg{position:absolute;left:16px;top:15px;width:20px;height:20px;color:var(--ink-2)}
.chips{display:flex;gap:8px;overflow-x:auto;padding:4px 0 18px;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;min-height:42px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:transparent;font-size:15px;transition:background-color .2s var(--ease-out),color .2s var(--ease-out),transform .16s var(--ease-out)}
.chip:active{transform:scale(.97)}
.chip[aria-pressed=true]{background:var(--slate);color:#fff;border-color:var(--slate)}
.chip small{opacity:.6;margin-left:4px;font-size:13px}
.shop-body{display:grid;grid-template-columns:250px 1fr;gap:40px;align-items:start}
.filters{position:sticky;top:96px;max-height:calc(100svh - 110px);overflow:auto;padding-right:8px}
.fg{border-top:1px solid var(--line);padding:16px 0} /* taste-skill-ignore: grupos de filtros / hoja */
.fg h2{font-size:16px;font-weight:600;letter-spacing:0;margin-bottom:10px}
.fg label{display:flex;align-items:center;gap:10px;padding:5px 0;font-size:16px;cursor:pointer}
.fg input{width:18px;height:18px;accent-color:var(--leaf)}
.fg label span{margin-left:auto;color:var(--ink-2);font-size:14px}
.fnote{font-size:13px;color:var(--ink-2);margin-top:4px}
.bar2{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.bar2 .count{color:var(--ink-2)}
.bar2 select{min-height:44px;border-radius:999px;border:1px solid var(--line);background:#fff;padding:0 14px;font-size:15px}
.fbtn{display:none}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:28px 20px}
.card{display:flex;flex-direction:column;text-decoration:none}
.card .ph{position:relative;aspect-ratio:1;border-radius:var(--r);overflow:hidden;background:var(--wall)}
.card img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-out)}
@media (hover:hover){.card:hover img{transform:scale(1.04)}}
.card .tags{position:absolute;left:10px;top:10px;display:flex;gap:6px;flex-wrap:wrap}
.card h3{font-size:17px;font-weight:500;margin-top:12px;line-height:1.3;letter-spacing:-.005em}
.card .meta{color:var(--ink-2);font-size:14px;margin-top:2px}
.card .pr{display:flex;justify-content:space-between;align-items:center;margin-top:8px;gap:8px}
.card .pr b{font-weight:500;font-size:17px}
.card .pr s{color:var(--ink-2);font-size:14px;margin-right:6px}
.addq{width:40px;height:40px;border-radius:50%;border:0;background:var(--leaf);color:#fff;display:grid;place-items:center;transition:transform .16s var(--ease-out),background-color .2s}
.addq:active{transform:scale(.92)}
.addq:disabled{background:var(--paper-2);color:var(--ink-2);cursor:not-allowed}
.noresults{grid-column:1/-1;padding:60px 20px;text-align:center;background:#fff;border-radius:var(--r)}
.noresults p{color:var(--ink-2);margin:8px 0 18px}
.more{display:flex;justify-content:center;margin-top:40px}
@media (max-width:900px){
  .shop{padding-top:96px}
  .shop-head{grid-template-columns:1fr}
  .shop-body{grid-template-columns:1fr}
  .filters{position:fixed;inset:auto 0 0 0;top:auto;max-height:82svh;background:var(--paper);z-index:62;border-radius:20px 20px 0 0;padding:20px 24px 24px;transform:translateY(100%);visibility:hidden;transition:transform .45s var(--ease-drawer),visibility 0s linear .45s;box-shadow:0 -10px 40px rgba(0,0,0,.2)} /* taste-skill-ignore: grupos de filtros / hoja */
  body.f-open .filters{transform:none;visibility:visible;transition:transform .45s var(--ease-drawer)}
  body.f-open .scrim{opacity:1;pointer-events:auto}
  .fbtn{display:inline-flex}
  .grid{grid-template-columns:1fr 1fr;gap:22px 12px}
  .card h3{font-size:15px}.card .pr b{font-size:16px}
}
.fhead{display:none}
@media (max-width:900px){.fhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.fhead h2{font-size:22px}.fapply{position:sticky;bottom:0;width:100%;margin-top:12px}}
@media (min-width:901px){.fapply{display:none}}

/* ficha */
.pd{padding:110px 0 80px}
.crumbs{font-size:15px;color:var(--ink-2);margin-bottom:22px}
.crumbs a{text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.pd-in{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(32px,5vw,80px);align-items:start}
.gal{position:sticky;top:96px}
.gal .main{aspect-ratio:1;border-radius:20px;overflow:hidden;background:var(--wall)}
.gal .main img{width:100%;height:100%;object-fit:cover}
.thumbs{display:flex;gap:10px;margin-top:12px}
.thumbs button{width:76px;height:76px;padding:0;border-radius:12px;overflow:hidden;border:2px solid transparent;background:none}
.thumbs button[aria-pressed=true]{border-color:var(--ink)}
.thumbs img{width:100%;height:100%;object-fit:cover}
.pd h1{font-size:clamp(34px,4vw,56px);margin:10px 0 12px}
.price{font-size:30px;font-weight:500;letter-spacing:-.01em}
.price s{font-size:20px;color:var(--ink-2);margin-left:10px;font-weight:400}
.stockline{margin-top:6px;color:var(--ink-2)}
.opt{margin-top:26px}
.opt h2{font-size:16px;font-weight:600;letter-spacing:0;margin-bottom:10px}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opts button{min-height:46px;padding:0 16px;border-radius:12px;border:1px solid var(--line);background:#fff;font-size:15px;text-align:left;transition:border-color .2s,transform .16s var(--ease-out)}
.opts button:active{transform:scale(.97)}
.opts button[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)} /* taste-skill-ignore: anillo de selección */
.opts button:disabled{opacity:.45;cursor:not-allowed}
.opts small{display:block;color:var(--ink-2);font-size:13px}
.buy{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}
.buy .btn{flex:1 1 200px;min-height:54px}
.note{margin-top:20px;padding:14px 16px;border-radius:12px;background:var(--paper-2);font-size:15px;color:var(--ink-2)}
.ficha{margin-top:34px;border-top:1px solid var(--line)} /* taste-skill-ignore: grupos de filtros / hoja */
.ficha h2{font-size:22px;margin:24px 0 14px}
.attrs{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border-radius:14px;overflow:hidden} /* taste-skill-ignore: grupos de filtros / hoja */
.attrs div{background:#fff;padding:14px 16px}
.attrs dt{font-size:14px;color:var(--ink-2)}
.attrs dd{margin:2px 0 0;font-weight:500}
.care2 dl{margin:0;display:grid;gap:12px}
.care2 dt{font-weight:600;font-size:15px}
.care2 dd{margin:2px 0 0;color:var(--ink-2)}
.care2 ul{margin:0;padding-left:20px;color:var(--ink-2)}
.care2 li{margin:6px 0}
.rel{padding:20px 0 100px}
.rel h2{font-size:clamp(28px,3vw,40px);margin-bottom:24px}
@media (max-width:900px){.pd{padding-top:84px}.pd-in{grid-template-columns:1fr}.gal{position:static}.attrs{grid-template-columns:1fr 1fr}}

/* checkout */
.co{padding:110px 0 100px}
.co h1{font-size:clamp(36px,4.4vw,60px);margin-bottom:28px}
.co-in{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(28px,4vw,64px);align-items:start}
.form{display:grid;gap:18px;background:#fff;border-radius:20px;padding:clamp(22px,3vw,36px)}
.form .two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field label{display:block;font-weight:500;font-size:15px;margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;min-height:50px;border-radius:12px;border:1px solid var(--line);background:var(--paper);padding:10px 14px;font-size:16px}
.field textarea{min-height:90px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--leaf-2);outline-offset:1px}
.field .err{display:none;color:#a3302a;font-size:14px;margin-top:4px}
.field.bad input{border-color:#a3302a}.field.bad .err{display:block}
.radios{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.radios label{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:14px;cursor:pointer;font-weight:400;margin:0}
.radios input{accent-color:var(--leaf);width:18px;height:18px;margin-top:2px}
.radios label:has(input:checked){border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)} /* taste-skill-ignore: anillo de selección */
.radios small{display:block;color:var(--ink-2);font-size:14px}
.summary{position:sticky;top:96px;background:var(--paper-2);border-radius:20px;padding:clamp(22px,3vw,32px)}
.summary h2{font-size:22px;margin-bottom:8px}
.summary .row{display:flex;justify-content:space-between;padding:8px 0;font-size:16px}
.summary .tot{border-top:1px solid var(--line);margin-top:8px;padding-top:14px;font-size:20px;font-weight:500} /* taste-skill-ignore: grupos de filtros / hoja */
.formerr{display:none;background:#f6e3e1;color:#7a221d;padding:12px 14px;border-radius:12px}
.formerr.on{display:block}
.done{max-width:640px;margin:0 auto;text-align:center;padding:40px 0}
.done .ok{width:72px;height:72px;border-radius:50%;background:var(--leaf);color:#fff;display:grid;place-items:center;margin:0 auto 22px}
.done h1{margin-bottom:12px}
.done p{color:var(--ink-2);margin-bottom:24px}
@media (max-width:900px){.co{padding-top:90px}.co-in{grid-template-columns:1fr}.summary{position:static;order:-1}.form .two,.radios{grid-template-columns:1fr}}
