.rollin-shops{--rs-ink:#171717;--rs-muted:#6d6d6d;--rs-line:#e8e8e8;--rs-accent:#f04b8b;color:var(--rs-ink);margin:2rem 0}
.rollin-shops__filters{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;gap:1rem;align-items:end;background:#fff;border:1px solid var(--rs-line);border-radius:18px;padding:1.2rem;margin-bottom:1.25rem}
.rollin-shops label,.rollin-shop-submit label{display:flex;flex-direction:column;gap:.45rem;font-weight:650;font-size:.92rem}
.rollin-shops input,.rollin-shops select,.rollin-shop-submit input,.rollin-shop-submit textarea,.rollin-shop-submit select{width:100%;min-width:0;border:1px solid #d8d8d8;border-radius:10px;padding:.75rem .85rem;background:#fff;color:inherit;font:inherit}
.rollin-shops__filters button,.rollin-shop-submit button{border:0;border-radius:10px;padding:.85rem 1.2rem;background:#171717;color:#fff;font:inherit;font-weight:750;cursor:pointer}
.rollin-shops__filters a{font-size:.9rem}
.rollin-shops__map{height:390px;width:100%;border-radius:18px;overflow:hidden;background:#f2f2f2;margin:0 0 1.5rem;z-index:0}
.rollin-shops__map--single{margin-top:1.25rem;height:320px}
.rollin-shops__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.15rem}
.rollin-shop-card{overflow:hidden;border:1px solid var(--rs-line);border-radius:18px;background:#fff;min-width:0;display:flex;flex-direction:column}
.rollin-shop-card__image{height:190px;display:flex;align-items:center;justify-content:center;background:#f3f3f3;color:#777;text-decoration:none;font-size:.75rem;font-weight:800;letter-spacing:.12em;overflow:hidden}
.rollin-shop-card__image img{width:100%;height:100%;object-fit:cover;display:block}
.rollin-shop-card__body{padding:1.1rem;display:flex;flex-direction:column;align-items:flex-start;flex:1}
.rollin-shop-card__category{display:inline-flex;padding:.3rem .55rem;border-radius:6px;background:#fff0f6;color:#a91c58;font-size:.75rem;font-weight:800}
.rollin-shop-card h2{font-size:1.2rem;line-height:1.25;margin:.7rem 0 .35rem}
.rollin-shop-card h2 a{color:inherit;text-decoration:none}
.rollin-shop-card__location{font-size:.87rem;color:var(--rs-muted);margin:.1rem 0 .65rem}
.rollin-shop-card__body>p:not(.rollin-shop-card__location){color:#555;font-size:.93rem;line-height:1.55}
.rollin-shop-card__more{margin-top:auto;padding-top:.6rem;font-weight:800;text-decoration:none;color:inherit}
.rollin-shop-card__more span{color:var(--rs-accent);padding-left:.25rem}
.rollin-shops__empty{grid-column:1/-1;padding:2rem;border:1px dashed #ccc;border-radius:16px;color:var(--rs-muted)}
.rollin-shops__pagination{margin:1.5rem 0}
.rollin-shop-submit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;border:1px solid var(--rs-line);border-radius:18px;padding:1.4rem;margin:2rem 0;background:#fff}
.rollin-shop-submit h2,.rollin-shop-submit>button,.rollin-shop-submit__note{grid-column:1/-1}
.rollin-shop-submit h2{margin:0}
.rollin-shop-submit label:has(textarea[name="shop_description"]),.rollin-shop-submit label:has(textarea[name="rollin_shop_hours"]){grid-column:1/-1}
.rollin-shop-submit__row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.rollin-shop-submit>button{justify-self:start}
.rollin-shop-submit__note,.rollin-shop-notice{font-size:.9rem;color:#626262}
.rollin-shop-notice{padding:1rem;border-radius:12px;background:#f4f4f4;margin:1rem 0}
.rollin-shop-detail{border:1px solid var(--rs-line);border-radius:18px;padding:1.3rem;margin:1.5rem 0;background:#fff}
.rollin-shop-detail h2{margin-top:0}
.rollin-shop-detail dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:0}
.rollin-shop-detail dl>div{padding:.8rem;background:#f8f8f8;border-radius:10px;min-width:0}
.rollin-shop-detail dt{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--rs-muted);margin-bottom:.35rem}
.rollin-shop-detail dd{margin:0;overflow-wrap:anywhere}
.rollin-shop-detail a{overflow-wrap:anywhere}
@media(max-width:900px){.rollin-shops__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rollin-shops__filters{grid-template-columns:1fr 1fr}.rollin-shops__filters button{grid-column:1/-1}}
@media(max-width:600px){.rollin-shops__grid{grid-template-columns:1fr}.rollin-shops__filters,.rollin-shop-submit,.rollin-shop-detail dl{grid-template-columns:1fr}.rollin-shops__filters button{grid-column:auto}.rollin-shops__map{height:300px}.rollin-shop-submit h2,.rollin-shop-submit>button,.rollin-shop-submit__note{grid-column:auto}.rollin-shop-submit__row{grid-template-columns:1fr}}

.rollin-shop-card--promoted{border-color:#f04b8b;box-shadow:0 0 0 1px rgba(240,75,139,.15)}.rollin-shop-card__promoted{display:inline-flex;margin:0 0 .55rem;padding:.25rem .5rem;border-radius:5px;background:#171717;color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.02em}
