/* File: display-post-core.css
   Description: Shared post layout primitives + shared gallery/carousel + shared map container helpers.
*/

/* =========================
   CORE SURFACE + TYPOGRAPHY
   ========================= */

.ll-post-surface {
  max-width: 1100px;
  margin: 2rem auto;
  padding: 2rem;
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #0f172a;
}

/* =========================
   CORE GRID PRIMITIVES
   ========================= */

.ll-section-grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  gap: 2rem;
  align-items: start;
  margin: 24px 0;
}

.ll-left-column,
.ll-right-column {
  display: flex;
  flex-direction: column;
  gap: 20px;
  min-width: 0;
}

/* Responsive core grid */
@media (max-width: 900px) {
  .ll-section-grid { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .ll-post-surface { padding: 1.5rem 1.25rem; }
  .ll-section-grid { gap: 24px; }
}

/* =========================
   SHARED "CARD" BLOCKS
   ========================= */

.info-section,
.address-map-container,
.company-facts {
  padding: 1rem 1.25rem;
  background: #f8fafc;
  border-radius: 10px;
  border: 1px solid #e2e8f0;
}

.info-section p {
  margin: 0 0 0.6rem;
  line-height: 1.4;
}

.info-section strong { font-weight: 700; }

.map-address,
.address-map-container .map-address {
  margin: 0 0 0.75rem;
  line-height: 1.4;
}

/* NOTE: no global "margin: 60px 0" here — spacing is controlled by grid gaps. */

/* Map iframe helper (works for both your map embed + microsite map container) */
.google-map { position: relative; width: 100%; padding-bottom: 56.25%; height: 0; overflow: hidden; }
.google-map iframe,
.address-map-container iframe,
.ll-microsite-map-container iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 8px;
}

/* Company facts (if used) */
.company-facts {
  background: #fff;
  box-shadow: 0 1px 3px rgba(0,0,0,.06);
}
.company-facts h3, .company-facts h4 { margin: 10px 0 6px; }
.company-facts p { margin: 0 0 12px; white-space: pre-wrap; }

/* =========================
   ADMIN BOX (shared)
   ========================= */

.admin-controls {
  background: #fff;
  border: 1px dashed #ccc;
  padding: 15px;
  margin-bottom: 20px;
}

.admin-controls__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}

.admin-controls__note { margin: 0; font-style: italic; }
.admin-controls__actions { display: flex; gap: 10px; }
