:root{
--mmb-blue-1:#1d4ed8;
--mmb-blue-2:#2563eb;
--mmb-blue-3:#0b5fff;
--mmb-text:#0f172a;
--mmb-muted:#475569;
--mmb-border:#dbe6fb;
}
.mmb-related-places,
.mmb-map-embed{
border:1px solid var(--mmb-border);
border-radius:18px;
padding:16px;
margin:24px 0;
background:linear-gradient(145deg,#ffffff 0%,#f3f8ff 52%,#edf4ff 100%);
position:relative;
overflow:hidden;
}
.mmb-related-places:before,
.mmb-map-embed:before{
content:"";
position:absolute;
top:-40px;
right:-40px;
width:160px;
height:160px;
background:radial-gradient(circle,rgba(37,99,235,.20) 0%,rgba(37,99,235,0) 72%);
pointer-events:none;
}
.mmb-related-places__title{margin:0 0 6px;font-size:22px;line-height:1.2;color:var(--mmb-text);position:relative}
.mmb-related-places__lead{margin:0 0 14px;color:var(--mmb-muted);font-size:14px;line-height:1.45;position:relative}
.mmb-place-card{
display:flex;
gap:14px;
align-items:stretch;
border:1px solid #d6e2fb;
border-radius:14px;
padding:12px;
margin:0 0 12px;
background:#fff;
box-shadow:0 10px 26px rgba(30,58,138,.10);
transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.mmb-place-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(30,58,138,.16);border-color:#bfd3fb}
.mmb-place-card__img-wrap{flex:0 0 120px;max-width:120px;border-radius:10px;overflow:hidden;background:#e2e8f0}
.mmb-place-card__img{display:block;width:120px;height:100%;min-height:86px;object-fit:cover}
.mmb-place-card__body{min-width:0;flex:1 1 auto;display:flex;flex-direction:column;justify-content:space-between}
.mmb-place-card__head{display:flex;align-items:center;gap:8px;margin:0 0 4px;flex-wrap:wrap}
.mmb-place-card__top{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:#e0edff;color:#1e3a8a;font-weight:700;font-size:12px}
.mmb-place-card__name{margin:0;font-weight:800;font-size:23px;line-height:1.15;color:var(--mmb-text);letter-spacing:-.2px}
.mmb-place-card__badge{display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;border-radius:999px;background:#ecfeff;color:#0f766e;font-weight:700;font-size:11px;white-space:nowrap}
.mmb-place-card__desc{margin:0 0 12px;font-size:14px;line-height:1.5;color:#334155}
.mmb-place-card__actions{
display:flex;
align-items:center;
gap:10px;
flex-wrap:wrap;
padding:10px;
border-radius:12px;
border:1px solid #dbeafe;
background:
linear-gradient(0deg, rgba(255,255,255,.92), rgba(255,255,255,.92)),
repeating-linear-gradient(0deg, rgba(37,99,235,.08) 0 1px, transparent 1px 18px),
repeating-linear-gradient(90deg, rgba(37,99,235,.08) 0 1px, transparent 1px 18px);
}
body .mmb-place-card__btn,
body a.mmb-place-card__btn,
body .mmb-place-card .mmb-place-card__btn{
display:inline-flex !important;
align-items:center !important;
justify-content:center !important;
gap:8px !important;
min-height:46px !important;
background:linear-gradient(135deg,var(--mmb-blue-3) 0%,var(--mmb-blue-2) 55%,var(--mmb-blue-1) 100%) !important;
color:#ffffff !important;
border:0 !important;
outline:0 !important;
text-decoration:none !important;
text-transform:none !important;
padding:12px 20px !important;
border-radius:12px !important;
font-weight:800 !important;
font-size:15px !important;
line-height:1.1 !important;
letter-spacing:.2px !important;
opacity:1 !important;
box-shadow:0 10px 22px rgba(29,78,216,.38) !important;
position:relative;
isolation:isolate;
overflow:hidden;
}
body .mmb-place-card__btn:before{
content:"";
position:absolute;
inset:1px;
border-radius:11px;
border:1px solid rgba(255,255,255,.34);
pointer-events:none;
}
body .mmb-place-card__btn:after{
content:"";
position:absolute;
inset:-6px;
border-radius:16px;
border:1px dashed rgba(29,78,216,.28);
box-shadow:0 0 0 1px rgba(148,163,184,.10) inset;
pointer-events:none;
}
body .mmb-place-card__btn:hover,
body a.mmb-place-card__btn:hover{transform:translateY(-1px);box-shadow:0 14px 26px rgba(29,78,216,.45) !important}
body .mmb-place-card__btn span,
body .mmb-place-card__btn i{color:#fff !important;opacity:1 !important;visibility:visible !important}
.mmb-place-card__meta{font-size:12px;color:#64748b;font-weight:600}
body .mmb-map-embed__cta,
body a.mmb-map-embed__cta{
display:inline-flex !important;
align-items:center !important;
gap:8px !important;
background:#1e40af !important;
color:#fff !important;
text-decoration:none !important;
padding:12px 16px !important;
border-radius:12px !important;
font-weight:800 !important;
letter-spacing:.2px;
}
.mmb-inline-map-card{
position:relative;
margin:16px 0;
border:1px solid #d6e2fb;
border-radius:16px;
background:linear-gradient(145deg,#ffffff 0%,#f4f8ff 55%,#eef4ff 100%);
box-shadow:0 12px 28px rgba(30,58,138,.12);
overflow:hidden;
}
.mmb-inline-map-card__bg{
position:absolute;
inset:-40px -60px auto auto;
width:220px;
height:220px;
background:
radial-gradient(circle at 30% 35%, rgba(59,130,246,.22) 0 25%, transparent 60%),
repeating-linear-gradient(0deg, rgba(37,99,235,.08) 0 1px, transparent 1px 14px),
repeating-linear-gradient(90deg, rgba(37,99,235,.08) 0 1px, transparent 1px 14px);
pointer-events:none;
}
.mmb-inline-map-card__content{
position:relative;
padding:14px;
}
.mmb-inline-map-card__title{
margin:0 0 6px;
color:var(--mmb-text);
font-size:21px;
line-height:1.2;
font-weight:800;
}
.mmb-inline-map-card__desc{
margin:0 0 10px;
color:#334155;
font-size:14px;
line-height:1.45;
}
.mmb-inline-map-card__actions{
display:flex;
align-items:center;
gap:10px;
flex-wrap:wrap;
padding-top:2px;
}
@media (max-width: 640px){
.mmb-related-places,
.mmb-map-embed{padding:12px;border-radius:12px;margin:16px 0}
.mmb-related-places__title{font-size:18px}
.mmb-related-places__lead{font-size:13px;margin-bottom:10px}
.mmb-place-card{padding:10px;gap:10px;flex-direction:column}
.mmb-place-card__img-wrap{flex:0 0 auto;max-width:none;width:100%}
.mmb-place-card__img{width:100%;height:160px;min-height:160px}
.mmb-place-card__name{font-size:18px}
.mmb-place-card__desc{font-size:13px;line-height:1.45}
.mmb-place-card__actions{display:block;padding:9px}
body .mmb-place-card__btn{display:flex !important;width:100%;padding:12px 14px !important;font-size:15px !important}
.mmb-place-card__meta{display:block;margin-top:8px}
.mmb-inline-map-card__title{font-size:18px}
.mmb-inline-map-card__desc{font-size:13px}
.mmb-inline-map-card__actions{display:block}
}