
.shop-guide{font-family:Arial,Helvetica,sans-serif;color:#283124;line-height:1.65;padding:clamp(18px,3vw,38px)}
.shop-guide h1{font: bold clamp(28px,3vw,42px)/1.2 Georgia,serif;color:#455334;margin:8px 0 18px}.shop-guide h2{font:bold 27px/1.3 Georgia,serif;color:#455334;margin:0 0 18px}.shop-guide h3{font-size:21px;line-height:1.3;margin:0 0 14px;color:#455334}.shop-guide p{margin:0 0 16px}.shop-kicker{font-size:13px;font-weight:bold;letter-spacing:.07em;text-transform:uppercase;color:#716024}.shop-intro{font-size:19px;max-width:75ch}
.shop-shortcuts{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.shop-shortcuts a{padding:8px 12px;border:1px solid #aeb599;border-radius:5px;background:#fffdf3;color:#354723;text-decoration:none;font-size:15px;font-weight:bold}
.shop-section{margin-top:34px;scroll-margin-top:20px}.shop-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;padding:0;margin:0;list-style:none;align-items:stretch}.shop-card{display:flex;flex-direction:column;min-width:0;padding:24px;background:#fffdf6;border:1px solid #d1d4bf;border-top:4px solid #b99942;border-radius:10px;box-shadow:0 2px 6px #2831240a;overflow-wrap:break-word}
.shop-guide .shop-tag{font-size:12px;line-height:1.4;font-weight:bold;text-transform:uppercase;letter-spacing:.04em;color:#716024;margin:0 0 12px}.shop-description{font-size:16px}.shop-guide .shop-contact{margin-top:auto;padding-top:12px;margin-bottom:16px;font-size:15px;line-height:1.5}.shop-contact a{color:#354723}.shop-actions a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:9px 12px;border:1px solid #aeb599;border-radius:5px;background:#f7f3e3;color:#354723;font-size:15px;font-weight:bold;line-height:1.35;text-align:center;text-decoration:none;gap:8px}.shop-actions a:hover,.shop-shortcuts a:hover{background:#eee5c4}.shop-guide a:focus-visible{outline:3px solid #ad821b;outline-offset:3px}
.shop-callout{margin-top:32px;padding:24px;background:#eeeedf;border-left:5px solid #b99942}.shop-related{margin-top:24px!important}.shop-small{font-size:13px;color:#606457}
@media(max-width:760px){.shop-cards{grid-template-columns:1fr;gap:16px}.shop-card{padding:20px}.shop-guide h2{font-size:24px}.shop-intro{font-size:17px}.shop-callout{padding:20px}}

.site-main>.legacy-content,.shop-guide{background:#ffecec}.shop-card{background:#fff9f7;border-color:#dfc7c1}.shop-callout{background:#f8ded6}

/* Small, locally hosted shop photos; shared with the phone app. */
.shop-photo{display:flex;align-items:center;justify-content:center;width:100%;height:150px;margin:0 0 18px;padding:6px;border:1px solid #e1d4c8;border-radius:7px;background:#f4eee5;overflow:hidden}.shop-photo img{display:block;width:auto;max-width:100%;height:auto!important;max-height:138px;object-fit:contain}.shop-actions{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:8px}.shop-actions a{font-size:14px;padding:9px 8px}
@media(max-width:420px){.shop-actions{grid-template-columns:1fr}}

/* Readable published hours and filters retain the existing shopping cards. */
.shop-guide [hidden]{display:none!important}.shop-review-note{font-size:15px;color:#65584e;max-width:76ch}
.shop-filter-form{margin:22px 0 16px;padding:20px;border:1px solid #c2b9a6;border-radius:12px;background:#f8ded6}
.shop-filter-form fieldset{border:0;padding:0;margin:0;min-width:0}.shop-filter-form legend{font-weight:bold;color:#354723;margin:0 0 12px;padding:0}
.shop-filter-fields{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.2fr) auto;gap:12px;align-items:end}
.shop-filter-fields label{display:grid;gap:5px;min-width:0;font-size:14px;font-weight:bold}
.shop-filter-fields select,.shop-filter-fields button{font:inherit;font-size:16px;min-width:0;max-width:100%;min-height:44px;border:2px solid #596b45;border-radius:8px;padding:8px 10px;background:#fffdf6;color:#283124}
.shop-filter-fields select{width:100%}.shop-filter-fields button{border-radius:999px;font-weight:bold;white-space:nowrap;padding-inline:16px;cursor:pointer}.shop-filter-fields button:hover{background:#e4e8d9}
.shop-filter-fields select:focus-visible,.shop-filter-fields button:focus-visible{outline:3px solid #ad821b;outline-offset:3px}
.shop-guide .shop-result-count{font-weight:bold;min-height:26px;margin:0 0 12px}.shop-area-group{border-top:1px solid #cbbdb3;padding-top:26px}.shop-guide .shop-area-intro{font-size:15px;color:#65584e;margin:0 0 18px}
.shop-hours{border-top:1px solid #ddcfc5;padding-top:13px;margin:0 0 16px}.shop-hours h4{font-size:15px;line-height:1.4;color:#354723;margin:0 0 7px}
.shop-guide .shop-hours p{font-size:15px;line-height:1.55;margin:0 0 8px}.shop-guide .shop-hours .shop-service-note{font-size:12px;color:#65584e}
.shop-guide .shop-hours .shop-checked{font-size:12px;color:#65584e;line-height:1.5;margin:10px 0 0}.shop-hours-uncertain{border-left:3px solid #ae862b;padding-left:10px}
.shop-empty{border:1px solid #c2b9a6;border-radius:10px;padding:18px;background:#f8ded6}.shop-area-links{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.shop-area-links a{padding:6px 10px;border:1px solid #aeb599;border-radius:99px;font-size:14px;background:#fffdf6}
.shop-guide .shop-type-anchor{display:block;scroll-margin-top:15px}
.shop-actions a:only-child{grid-column:1/-1}
@media(max-width:760px){.shop-filter-form{padding:16px}.shop-filter-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.shop-filter-fields button{grid-column:1/-1;justify-self:start}}
@media(max-width:420px){.shop-filter-fields{grid-template-columns:minmax(0,1fr)}.shop-filter-fields button{grid-column:auto}}
