/* Boyer store finder (inc/store-finder.php). Loaded only on the page that carries [boyer_store_finder]. */
.boyer-sf{margin:26px 0 30px;padding:20px;border:1px solid #e7dfd2;border-radius:14px;background:#faf7f1}
.boyer-sf [hidden]{display:none !important}
.boyer-sf.no-map .boyer-sf-map{display:none}
.boyer-sf-title{display:block;margin:0 0 12px;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#c93c17}
.boyer-sf-row{display:flex;flex-wrap:wrap;gap:10px}
.boyer-sf-input{flex:1 1 220px;min-width:0;height:50px;padding:0 14px;font:inherit;font-size:16px;color:#171310;background:#fff;border:1px solid #cfc4b3;border-radius:8px;-webkit-appearance:none;appearance:none}
.boyer-sf-input:focus{outline:2px solid #d1421a;outline-offset:1px;border-color:#d1421a}
.boyer-sf-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:50px;padding:0 22px;border:1px solid #d1421a;border-radius:8px;background:#d1421a;color:#fff;font:inherit;font-size:16px;font-weight:700;cursor:pointer}
.boyer-sf-btn:hover{background:#c93c17;border-color:#c93c17}
.boyer-sf-btn:focus-visible,.boyer-sf-act:focus-visible,.boyer-sf-more:focus-visible{outline:2px solid #171310;outline-offset:2px}
.boyer-sf-btn--ghost{background:#fff;color:#171310;border-color:#171310}
.boyer-sf-btn--ghost:hover{background:#fff;color:#d1421a;border-color:#d1421a}
.boyer-sf-status{margin:12px 0 0;font-size:15px;color:#4a4239;min-height:1.4em}
.boyer-sf-body{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-top:14px}
/* phone: map first (Fred: the map is important), then the results */
.boyer-sf-map{position:relative;height:340px;border-radius:12px;overflow:hidden;background:#e9e3d8;border:1px solid #e7dfd2}
.boyer-sf-canvas{position:absolute;inset:0}
/* the theme caps content images at 100% width (style.css "MOBILE PASS"): Google's map tiles must keep their own size */
.boyer-sf-map img{max-width:none !important}
.boyer-sf-tap{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px;text-align:center;background:#efe8dc}
.boyer-sf-tap p{margin:0;font-size:13px;color:#6b6257}
.boyer-sf-tap.is-loading .boyer-sf-tap-btn{opacity:.6;pointer-events:none}
.boyer-sf-admin{margin:10px 0 0;padding:8px 10px;border-radius:6px;background:#fff3cd;color:#5c4400;font-size:13px}
.boyer-sf-results{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.boyer-sf-card{margin:0;padding:14px 16px;background:#fff;border:1px solid #e7dfd2;border-radius:10px}
.boyer-sf-card.is-active{border-color:#d1421a;box-shadow:0 0 0 1px #d1421a}
.boyer-sf-card h3.boyer-sf-name{margin:0 0 2px;font-size:17px;line-height:1.3;letter-spacing:0;text-transform:none}
.boyer-sf-dist{margin:0 0 4px;font-size:14px;font-weight:700;color:#c93c17}
.boyer-sf-addr{margin:0 0 10px;font-size:15px;line-height:1.4;color:#4a4239}
.boyer-sf-actions{display:flex;flex-wrap:wrap;gap:8px}
.boyer-sf-act{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid #171310;border-radius:8px;background:#fff;color:#171310;font:inherit;font-size:15px;font-weight:700;text-decoration:none;cursor:pointer}
.boyer-sf-act:hover{color:#d1421a;border-color:#d1421a}
.boyer-sf-call{background:#d1421a;border-color:#d1421a;color:#fff}
.boyer-sf-call:hover{background:#c93c17;border-color:#c93c17;color:#fff}
.boyer-sf-nopin{align-self:center;font-size:13px;color:#6b6257}
.boyer-sf-more{display:block;width:100%;margin-top:10px;min-height:46px;border:1px dashed #b9ad9a;border-radius:8px;background:transparent;color:#171310;font:inherit;font-weight:700;cursor:pointer}
.boyer-sf-more:hover{border-color:#d1421a;color:#c93c17}
.boyer-sf-far{margin-top:14px;padding:16px;border:1px solid #e7dfd2;border-radius:10px;background:#f7f2ea}
.boyer-sf-far-msg{margin:0 0 10px;font-size:15px}
.boyer-sf-far .boyer-wtb-btn{margin-bottom:0}
.boyer-sf-info{display:flex;flex-direction:column;gap:4px;max-width:240px;font-size:14px;line-height:1.35;color:#171310}
.boyer-sf-info-name{font-size:15px}
.boyer-sf-info-links{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:4px}
.boyer-sf-info-links a{color:#c93c17;font-weight:700}
@media (min-width:900px){
	.boyer-sf{padding:24px}
	.boyer-sf-map{height:460px}
	/* after a search: results on the left, map on the right */
	.boyer-sf.has-results .boyer-sf-body{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start}
	.boyer-sf.has-results .boyer-sf-map{order:2;height:560px}
	.boyer-sf.has-results .boyer-sf-results-wrap{order:1;max-height:560px;overflow:auto;padding-right:4px}
	/* no map (no key, or Google refused it): the results use the full width, two cards per row */
	.boyer-sf.no-map.has-results .boyer-sf-body{grid-template-columns:minmax(0,1fr)}
	.boyer-sf.no-map .boyer-sf-results-wrap{max-height:none;overflow:visible}
	.boyer-sf.no-map .boyer-sf-results{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:480px){
	.boyer-sf{padding:16px;margin-left:-4px;margin-right:-4px}
	.boyer-sf-btn{flex:1 1 auto}
	.boyer-sf-map{height:300px}
}
