/*
 * Service Center polish & responsive helpers
 * This CSS is additive: it does not remove/replace existing plugin output.
 */

/* Layout container: tighten max width and breathing room */
.page .entry-content,
.page .site-content .container {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: min(5vw, 24px);
  padding-right: min(5vw, 24px);
}

/* Friendly headings + spacing */
.entry-content h1, .entry-content h2, .entry-content h3 {
  line-height: 1.2;
  margin-top: 1.2em;
  margin-bottom: .6em;
}
.entry-content p { margin: .7em 0; }

/* Cards & tiles */
.entry-content a[class*="card"],
.entry-content .card,
.entry-content .tile,
.entry-content [class*="tile"] a,
.entry-content .wp-block-group.has-background,
.entry-content .service-center a {
  display: block;
  background: #fff;
  border: 1px solid #e8eaee;
  border-radius: 12px;
  padding: 16px;
  box-shadow: 0 1px 2px rgba(0,0,0,.04);
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.entry-content .card:hover,
.entry-content .tile:hover,
.entry-content [class*="tile"] a:hover,
.entry-content .wp-block-group.has-background:hover,
.entry-content .service-center a:hover {
  transform: translateY(-1px);
  border-color: #d8dbe2;
  box-shadow: 0 6px 14px rgba(37,44,97,.08);
  text-decoration: none;
}
.entry-content .card *, .entry-content .tile * { margin-bottom: 0; }
.entry-content .card h3, .entry-content .tile h3 { margin: 8px 0 0; font-size: 1.05rem; }

/* Simple responsive grid for lists of tiles/buttons */
.entry-content .service-center,
.entry-content .tiles,
.entry-content .wp-block-columns,
.entry-content .wp-block-buttons,
.entry-content .pc-tiles,
.entry-content .pc-service-center {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
}

/* Buttons: larger tap targets */
.entry-content .wp-block-button__link, 
.entry-content .button,
.entry-content a.button {
  padding: 12px 16px;
  border-radius: 10px;
  font-weight: 600;
}

/* === Dashboard (both shortcodes) === */
.sc-dashboard { --gap: 14px; }
.sc-dashboard .sc-toolbar { display:flex; gap:var(--gap); flex-wrap:wrap; align-items:end; margin: 8px 0 14px; }
.sc-dashboard .sc-toolbar .sc-field { display:flex; flex-direction:column; gap:6px; }
.sc-dashboard input[type="date"],
.sc-dashboard input[type="text"],
.sc-dashboard select {
  min-height: 38px; padding: 8px 10px; border:1px solid #dfe3ea; border-radius:8px; width: 220px;
}
.sc-dashboard .sc-btn { display:inline-block; padding:10px 14px; border-radius:10px; border:1px solid #dfe3ea; background:#fff; font-weight:600; }
.sc-dashboard .sc-btn:hover { border-color:#cfd5df; box-shadow:0 2px 10px rgba(0,0,0,.05); text-decoration:none; }
.sc-kpis { display:grid; grid-template-columns:repeat(auto-fit, minmax(180px,1fr)); gap:var(--gap); margin: 18px 0; }
.sc-kpi { background:#fff; border:1px solid #e8eaee; border-radius:12px; padding:14px; }
.sc-kpi .label { color:#6a7280; font-size:.9rem; }
.sc-kpi .value { font-size:1.6rem; font-weight:700; margin-top:4px; }

/* Table: mobile-friendly */
.sc-table { width:100%; border-collapse:collapse; }
.sc-table th, .sc-table td { border-bottom:1px solid #eef1f5; padding:10px; text-align:left; }
.sc-table th { font-size:.92rem; color:#596072; font-weight:700; }
@media (max-width: 640px) {
  .sc-table thead { display:none; }
  .sc-table tr { display:grid; grid-template-columns: 1fr 1fr; gap:8px; padding: 12px; border:1px solid #eef1f5; border-radius:10px; margin-bottom:10px; }
  .sc-table td { border:0; padding:0; }
  .sc-table td::before { content: attr(data-label); display:block; font-size:.8rem; color:#6b7280; margin-bottom:2px; }
}

/* Map UI */
.sc-map-wrap { --gap: 12px; margin: 12px 0 16px; }
.sc-map-wrap .sc-map-toolbar { display:flex; gap:var(--gap); flex-wrap:wrap; align-items:center; margin-bottom: var(--gap); }
.sc-map-wrap .sc-map-toolbar .sc-map-search { min-width: clamp(220px, 30vw, 420px); border:1px solid #dfe3ea; border-radius:8px; padding:9px 10px; }
.sc-map-wrap .sc-btn { display:inline-block; padding:10px 14px; border-radius:10px; border:1px solid #dfe3ea; background:#fff; font-weight:600; cursor:pointer; }
.sc-map-wrap .sc-btn:hover { border-color:#cfd5df; box-shadow:0 2px 10px rgba(0,0,0,.05); }
.sc-map-wrap .sc-map { border:1px solid #e8eaee; border-radius:12px; overflow:hidden; }
.sc-map-wrap .sc-map-status { color:#6a7280; font-size:.92rem; }
.sc-map-wrap .sc-nearby { margin-top: var(--gap); }
.sc-map-wrap .sc-nearby h3 { font-size:1rem; margin: 0 0 6px; color:#2f3747; }
.sc-map-wrap .sc-nearby-list { display:grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap:10px; }
.sc-map-wrap .nearby-card { border:1px solid #eef1f5; border-radius:10px; padding:10px; background:#fff; }
.sc-map-wrap .nearby-card .title { font-weight:700; }
