/* ==========================================================================
   Mapa hrane i inicijativa — stil
   Font: Plus Jakarta Sans | Akcent: #2e7d32 (usklađeno s kalkulatorom)
   ========================================================================== */

.mhi-app{
	--mhi-green:#2e7d32;
	--mhi-green-dark:#276b2b;
	--mhi-blue:#2563eb;
	--mhi-ink:#1b2621;
	--mhi-muted:#6b7280;
	--mhi-soft:#8a9299;
	--mhi-paper:#ffffff;
	--mhi-bg:#fafaf8;
	--mhi-line:#e8e6df;
	--mhi-radius:16px;
	--mhi-map-h:560px;

	font-family:'Plus Jakarta Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
	color:var(--mhi-ink);
	background:var(--mhi-bg);
	position:relative;
	border-radius:var(--mhi-radius);
	overflow:hidden;
	display:grid;
	grid-template-columns:1fr;
	line-height:1.45;
	box-sizing:border-box;
}
.mhi-app *,.mhi-app *::before,.mhi-app *::after{box-sizing:border-box;}

@media(min-width:900px){
	.mhi-app{grid-template-columns:minmax(340px,420px) 1fr;align-items:stretch;}
}

/* ---- Lijevi panel ------------------------------------------------------- */
.mhi-side{
	padding:26px 26px 30px 0;
	background:var(--mhi-bg);
	overflow-x:hidden;
	overflow-y:auto;
}
@media(min-width:900px){
	.mhi-side{max-height:calc(var(--mhi-map-h) + 52px);}
}

.mhi-badge{
	display:inline-flex;align-items:center;gap:7px;
	margin-top:-5px;
	background:var(--mhi-green);color:#fff;
	font-size:14px;font-weight:600;letter-spacing:.01em;
	padding:0.25rem 0.75rem;border-radius:50px;
}
.mhi-badge svg{width:14px;height:14px;opacity:.95;}

.mhi-title{
	margin:20px 0 0;
	font-size:30px;font-weight:800;line-height:1.12;letter-spacing:-.02em;
	color:var(--mhi-ink);
}
.mhi-sub{
	margin:14px 0 0;
	font-size:14.5px;color:var(--mhi-muted);font-weight:400;max-width:34ch;
}

/* ---- Location polje ----------------------------------------------------- */
.mhi-field{margin-top:26px;}
.mhi-field-label,.mhi-section-label{
	display:flex;align-items:center;gap:6px;
	font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
	color:var(--mhi-green);
}
.mhi-field-label svg{color:var(--mhi-green);}

.mhi-input-wrap{position:relative;margin-top:10px;}
.mhi-input{
	width:100%;
	font-family:inherit;font-size:15px;color:var(--mhi-ink);
	background:var(--mhi-paper);
	border:1px solid var(--mhi-line);border-radius:12px;
	padding:13px 44px 13px 15px;outline:none;
	transition:border-color .15s,box-shadow .15s;
}
.mhi-input::placeholder{color:var(--mhi-soft);}
.mhi-input:focus{border-color:var(--mhi-green);box-shadow:0 0 0 3px rgba(46,125,50,.14);}
.mhi-locate{
	position:absolute;top:50%;right:8px;transform:translateY(-50%);
	width:32px;height:32px;display:grid;place-items:center;
	background:transparent;border:none;border-radius:8px;cursor:pointer;
	color:var(--mhi-green);transition:background .15s;
}
.mhi-locate:hover{background:rgba(46,125,50,.10);}

/* ---- Sekcije ------------------------------------------------------------ */
.mhi-section{margin-top:26px;}

/* Checkbox lista */
.mhi-checks{margin-top:12px;display:flex;flex-direction:column;gap:2px;}
.mhi-check{
	display:flex;align-items:center;gap:11px;
	padding:9px 4px;cursor:pointer;user-select:none;border-radius:10px;
	transition:background .12s;
}
.mhi-check:hover{background:rgba(0,0,0,.025);}
.mhi-check-icon{
	width:22px;height:22px;flex:0 0 22px;display:grid;place-items:center;
	color:var(--mhi-c,#6b7280);
}
.mhi-check-name{flex:1;font-size:15px;font-weight:500;color:var(--mhi-ink);}
.mhi-check input{position:absolute;opacity:0;width:0;height:0;}
.mhi-box{
	width:20px;height:20px;flex:0 0 20px;border-radius:6px;
	border:2px solid var(--mhi-line);background:#fff;
	display:grid;place-items:center;transition:all .15s;
}
.mhi-box svg{opacity:0;transform:scale(.6);transition:all .15s;color:#fff;}
.mhi-check input:checked + .mhi-box{background:var(--mhi-green);border-color:var(--mhi-green);}
.mhi-check input:checked + .mhi-box svg{opacity:1;transform:scale(1);}
.mhi-check input:focus-visible + .mhi-box{box-shadow:0 0 0 3px rgba(46,125,50,.20);}

/* Select */
.mhi-select-wrap{position:relative;margin-top:12px;}
.mhi-select{
	width:100%;appearance:none;-webkit-appearance:none;
	font-family:inherit;font-size:15px;color:var(--mhi-ink);
	background:var(--mhi-paper);
	border:1px solid var(--mhi-line);border-radius:12px;
	padding:13px 40px 13px 15px;outline:none;cursor:pointer;
	transition:border-color .15s,box-shadow .15s;
}
.mhi-select:focus{border-color:var(--mhi-green);box-shadow:0 0 0 3px rgba(46,125,50,.14);}
.mhi-select-caret{position:absolute;top:50%;right:14px;transform:translateY(-50%);color:var(--mhi-muted);pointer-events:none;}

/* ---- Rezultati ---------------------------------------------------------- */
.mhi-results{margin-top:14px;display:flex;flex-direction:column;gap:10px;}
.mhi-result{
	display:flex;align-items:flex-start;gap:12px;text-align:left;width:100%;
	background:var(--mhi-paper);border:1px solid var(--mhi-line);border-radius:13px;
	padding:15px 16px;cursor:pointer;font-family:inherit;
	transition:border-color .15s,box-shadow .15s,transform .05s;
}
.mhi-result:hover{border-color:#d5d2c8;box-shadow:0 6px 18px rgba(30,40,35,.06);}
.mhi-result.is-active{border-color:var(--mhi-green);box-shadow:0 0 0 3px rgba(46,125,50,.12);}
.mhi-result-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;}
.mhi-result-name{font-size:15.5px;font-weight:600;color:var(--mhi-ink);line-height:1.25;overflow-wrap:anywhere;}
.mhi-result-desc{font-size:13px;color:var(--mhi-muted);line-height:1.35;overflow-wrap:anywhere;}
.mhi-dist{
	flex:0 0 auto;
	font-size:12.5px;font-weight:700;
	padding:5px 11px;border-radius:999px;
	color:var(--mhi-dc,#2e7d32);
	background:color-mix(in srgb, var(--mhi-dc,#2e7d32) 14%, #fff);
}
.mhi-empty{
	padding:20px 4px;color:var(--mhi-soft);font-size:14px;text-align:center;
}

/* ---- Mapa --------------------------------------------------------------- */
.mhi-mapwrap{position:relative;min-height:var(--mhi-map-h);}
.mhi-map{position:absolute;inset:0;width:100%;height:100%;background:#e9ecef;}
@media(max-width:899px){
	.mhi-side{padding:24px 0 6px 0;}          /* full od ruba do ruba */
	.mhi-field{margin-top:4px;}
	.mhi-search{
		position:static;left:auto;right:auto;top:auto;
		max-width:none;margin:18px 0 16px;      /* razmak nakon podnaslova */
	}
	.mhi-mapwrap{height:62vh;min-height:380px;}
	.mhi-app>.mhi-section-results{padding:18px 0 26px;}
}
.mhi-map-placeholder{
	position:absolute;inset:0;display:grid;place-items:center;text-align:center;
	padding:40px;color:var(--mhi-soft);font-size:14.5px;font-weight:500;
	background:repeating-linear-gradient(45deg,#eef1ee,#eef1ee 14px,#e9ece9 14px,#e9ece9 28px);
}

/* Search bar preko mape */
.mhi-search{
	position:absolute;top:16px;left:16px;right:16px;z-index:5;
	display:flex;align-items:center;gap:10px;
	background:#fff;border-radius:14px;
	box-shadow:0 6px 22px rgba(20,30,25,.14);
	padding:8px 8px 8px 16px;
	max-width:720px;margin:0 auto;
}
.mhi-search-icon{color:var(--mhi-soft);flex:0 0 auto;}
.mhi-search-input{
	flex:1;border:none;outline:none;background:transparent;
	font-family:inherit;font-size:14.5px;color:var(--mhi-ink);padding:6px 0;
}
.mhi-search-input::placeholder{color:var(--mhi-soft);}

/* ---- Info kartica (Google InfoWindow sadržaj) --------------------------- */
.mhi-info{width:290px;font-family:'Plus Jakarta Sans',system-ui,sans-serif;}
.mhi-info-head{
	background:linear-gradient(180deg,#3a3f3c 0%,#20241f 100%);
	color:#fff;padding:52px 18px 16px;position:relative;
}
.mhi-info-name{font-size:19px;font-weight:700;letter-spacing:-.01em;}
.mhi-info-addr{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:13px;opacity:.85;}
.mhi-info-body{background:#fff;padding:16px 18px 18px;}
.mhi-info-desc{font-size:14px;color:#333c37;margin:0;}
.mhi-info-meta{margin-top:12px;display:flex;flex-direction:column;gap:7px;}
.mhi-info-line{display:inline-flex;align-items:center;gap:8px;color:#333c37;font-size:13.5px;text-decoration:none;}
.mhi-info-line:hover{color:var(--mhi-green);}
.mhi-info-line svg{color:var(--mhi-green);flex:0 0 auto;}
.mhi-info-line span{word-break:break-word;}
.mhi-info-foot{display:flex;align-items:center;gap:14px;margin-top:16px;}
.mhi-info-foot a{color:var(--mhi-green);display:inline-flex;transition:opacity .15s;}
.mhi-info-foot a:hover{opacity:.65;}
.mhi-info-ext{margin-left:auto;color:var(--mhi-soft);}

/* Očisti default Google InfoWindow padding gdje je moguće */
.mhi-map .gm-style-iw-c{padding:0!important;border-radius:16px!important;overflow:hidden;}
.mhi-map .gm-style-iw-d{overflow:hidden!important;}
