#agros-franchise-list .agros-locator { --agros-accent:#de002b; --agros-accent-hover:#b90024; --agros-accent-soft:#fff2f4; --agros-line:#e4e5e8; display:grid; grid-template-columns:minmax(300px, 380px) minmax(0, 1fr); min-height:650px; border:1px solid var(--agros-line); background:#fff; color:#222; }
#agros-franchise-list .agros-locator * { box-sizing:border-box; }
#agros-franchise-list .agros-locator [hidden] { display:none !important; }
#agros-franchise-list .agros-locator-sidebar { display:flex; flex-direction:column; min-width:0; max-height:760px; border-right:1px solid var(--agros-line); }
#agros-franchise-list .agros-locator-search { margin:0; padding:24px; background:#fafafa; }
#agros-franchise-list .agros-locator-search h2 { margin:0 0 22px; padding:0; font-size:22px; font-weight:700; line-height:1.4; letter-spacing:-0.03em; }
#agros-franchise-list .agros-locator-filters { display:flex; gap:10px; margin-bottom:16px; }
#agros-franchise-list .agros-locator-filters label { flex:1; min-width:0; color:#555; font-size:13px; font-weight:600; }
#agros-franchise-list .agros-locator select, #agros-franchise-list .agros-locator input[type=search] { display:block; width:100%; height:46px; margin:8px 0 0; padding:0 12px; border:1px solid #d9dce1; border-radius:4px; background:#fff; color:#222; font:inherit; font-size:16px; box-shadow:none; transition:border-color .15s ease; }
#agros-franchise-list .agros-locator select:focus, #agros-franchise-list .agros-locator input[type=search]:focus { border-color:var(--agros-accent); outline:2px solid #f7c8d1; outline-offset:1px; }
#agros-franchise-list .agros-locator select:disabled { border-color:var(--agros-line); background:#f0f1f3; color:#737780; cursor:not-allowed; opacity:1; }
#agros-franchise-list .agros-locator input[type=search]::placeholder { color:#858991; }
#agros-franchise-list .agros-keyword-label { color:#555; font-size:13px; font-weight:600; }
#agros-franchise-list .agros-locator-keyword { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
#agros-franchise-list .agros-locator-keyword input[type=search] { flex-basis:100%; margin:0; }
#agros-franchise-list .agros-locator button { min-height:44px; padding:10px 14px; border:1px solid var(--agros-accent); border-radius:4px; background:var(--agros-accent); color:#fff; cursor:pointer; font:inherit; font-size:14px; font-weight:600; line-height:1.5; box-shadow:none; transition:background-color .15s ease, border-color .15s ease, color .15s ease; }
#agros-franchise-list .agros-locator-search button[type=submit]:hover { border-color:var(--agros-accent-hover); background:var(--agros-accent-hover); }
#agros-franchise-list .agros-locator button:focus-visible, #agros-franchise-list .agros-locator a:focus-visible { outline:2px solid var(--agros-accent); outline-offset:3px; }
#agros-franchise-list .agros-locator-keyword button { flex:1; white-space:nowrap; }
#agros-franchise-list .agros-locator button.agros-reset { border-color:#d9dce1; background:#fff; color:#555; }
#agros-franchise-list .agros-locator a.agros-create { display:inline-flex; flex:1.4; align-items:center; justify-content:center; min-height:44px; padding:10px; border:1px solid #d9dce1; border-radius:4px; background:#fff; color:#333; font-size:14px; font-weight:600; line-height:1.5; text-decoration:none; white-space:nowrap; transition:border-color .15s ease, color .15s ease; }
#agros-franchise-list .agros-locator button.agros-reset:hover, #agros-franchise-list .agros-locator a.agros-create:hover { border-color:var(--agros-accent); color:var(--agros-accent); }
#agros-franchise-list .agros-result-count { margin:0; padding:15px 24px; border-top:1px solid var(--agros-line); border-bottom:1px solid var(--agros-line); color:#555; font-size:14px; font-weight:600; }
#agros-franchise-list .agros-locator-results { flex:1; min-height:160px; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#cbd0d6 transparent; }
#agros-franchise-list .agros-store-card { margin:0; border-bottom:1px solid #e4e4e4; }
#agros-franchise-list .agros-locator button.agros-store-select { display:block; width:100%; padding:20px 24px; border:0; border-radius:0; background:#fff; color:#222; font-weight:400; text-align:left; white-space:normal; box-shadow:inset 3px 0 0 transparent; }
#agros-franchise-list .agros-locator button.agros-store-select:hover { background:#fafafa; }
#agros-franchise-list .is-selected button.agros-store-select { background:var(--agros-accent-soft); box-shadow:inset 3px 0 0 var(--agros-accent); }
#agros-franchise-list .is-selected button.agros-store-select:hover { background:var(--agros-accent-soft); }
#agros-franchise-list .agros-store-select span, #agros-franchise-list .agros-store-select strong { display:block; line-height:1.45; overflow-wrap:anywhere; }
#agros-franchise-list .agros-store-office { margin-bottom:6px; color:var(--agros-accent); font-size:12px; font-weight:600; }
#agros-franchise-list .agros-store-select strong { margin-bottom:7px; font-size:18px; font-weight:700; letter-spacing:-0.02em; }
#agros-franchise-list .agros-store-address { margin-top:5px; color:#676b73; font-size:14px; line-height:1.65; }
.agros-store-info .agros-phone-lines { white-space:pre-line; }
#agros-franchise-list .agros-store-unmapped { margin-top:8px; color:#7e510c; font-size:12px; }
#agros-franchise-list .agros-locator button.agros-locator-more { flex-shrink:0; margin:12px 24px; border-color:#d9dce1; background:#fff; color:#555; }
#agros-franchise-list .agros-locator button.agros-locator-more:hover { border-color:var(--agros-accent); color:var(--agros-accent); }
#agros-franchise-list .agros-locator-map-panel { display:flex; flex-direction:column; min-width:0; background:#f5f6f7; }
#agros-franchise-list .agros-locator-map { width:100%; flex:1; }
.agros-store-info { position:relative; width:350px; max-width:calc(100vw - 32px); padding:14px; color:#222; background:#fff; border:1px solid black; font-size:14px; line-height:1.6; white-space:normal; transform:translateY(-44px); overflow-y:auto; }
.agros-store-info h3 { margin:0 0 14px; padding:0 36px 0 0; font-size:19px; font-weight:700; line-height:1.45; color:#222; overflow-wrap:anywhere; }
#agros-franchise-list .agros-locator .agros-info-close { position:absolute; top:4px; right:4px; width:36px; height:36px; min-height:36px; padding:0; border:0; background:transparent; color:#222; font-size:26px; line-height:36px; }
#agros-franchise-list .agros-locator .agros-info-close:hover { background:var(--agros-accent-soft); color:var(--agros-accent); }
.agros-store-info dl { display:grid; grid-template-columns:48px minmax(0, 1fr); gap:5px 10px; margin:0; }
.agros-store-info dt { margin:0; font-weight:600; color:#555; }
.agros-store-info dd { margin:0; overflow-wrap:anywhere; }
.agros-store-info a { display:inline-block; margin-top:14px; color:var(--agros-accent, #de002b); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
#agros-franchise-list .agros-empty { padding:24px; color:#555; line-height:1.7; }
@media(max-width:767px){
	.agros-store-info dl, .agros-store-info .agros-document-link { display:none; }
	.agros-store-info h3 { margin:0; font-size:18px; }
	#agros-franchise-list .agros-locator { grid-template-columns:minmax(0, 1fr); min-height:0; }
	#agros-franchise-list .agros-locator-sidebar { max-height:none; border-right:0; }
	#agros-franchise-list .agros-locator-search { padding:20px; }
	#agros-franchise-list .agros-locator-results { flex:auto; max-height:320px; }
	#agros-franchise-list .agros-locator-map-panel { border-top:1px solid #ddd; scroll-margin-top:20px; }
	#agros-franchise-list .agros-locator-map { height:360px; height:50svh; min-height:300px; max-height:440px; }
	#agros-franchise-list .agros-store-select strong { font-size:18px; }
}
