/* Mobile-first responsiveness for EZMUSCLE (non-home pages) */
:root { --ezm-max: 1100px; }
html { -webkit-text-size-adjust: 100%; }
body { overflow-x: hidden; }
img, svg, video { max-width: 100%; height: auto; }
iframe { max-width: 100%; }
.container { width: min(var(--ezm-max), calc(100% - 32px)); margin-inline: auto; }

.ezm-breadcrumbs { font-size: 0.95rem; margin: 10px 0 0; }
.ezm-breadcrumbs ol { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.ezm-breadcrumbs li::after { content: "›"; margin-left: 8px; opacity: .55; }
.ezm-breadcrumbs li:last-child::after { content: ""; margin: 0; }
.ezm-breadcrumbs a { text-decoration: none; }

.instagram-grid { display: grid; gap: 18px; }
.instagram-item { display: grid; grid-template-columns: minmax(0, 360px) 1fr; gap: 16px; align-items: start; }
.instagram-embed { width: 100%; border: 0; border-radius: 12px; overflow: hidden; }
.instagram-info h3 { margin: 0 0 6px; }
.instagram-info p { margin: 0 0 10px; }

.nap-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.nap-grid h3 { margin: 0 0 6px; }
.nap-grid p, .nap-grid ul { margin: 0 0 12px; }
.nap-grid ul { padding-left: 18px; }

@media (max-width: 860px){
  .instagram-item { grid-template-columns: 1fr; }
  .nap-grid { grid-template-columns: 1fr; }
  .btn, button, input, select, textarea { max-width: 100%; }
}

/* Components used on location + service pages */
.section-title { margin: 0 0 10px; font-size: 1.8rem; }
.mt-20 { margin-top: 20px; }
.text-center { text-align: center; }

.review-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 18px; }
.review-card { background: #fff; border: 1px solid rgba(0,0,0,.08); border-radius: 16px; padding: 16px; box-shadow: 0 6px 18px rgba(0,0,0,.05); }
.review-header { display: flex; gap: 12px; align-items: center; margin-bottom: 10px; }
.review-avatar { width: 40px; height: 40px; border-radius: 999px; display: grid; place-items: center; font-weight: 700; background: rgba(0,0,0,.08); }
.review-name { font-weight: 700; }
.review-date { opacity: .7; font-size: .9rem; }
.review-stars { letter-spacing: 1px; margin-bottom: 10px; }
.review-content p { margin: 0; }

.instagram-link { text-decoration: none; font-weight: 600; }
@media (max-width: 860px){
  .review-grid { grid-template-columns: 1fr; }
}
