/*
 * CEMI Single Property Responsive Contract — SP-R2
 * Single-specific composition only; reusable collections are owned by systems/public-collections.css.
 * Bands: wide >=1200, desktop 1024-1199, compact 768-1023, mobile <768.
 * Header/site chrome keeps its own component-level adaptation.
 */

/* Wide/default: fluid canvas, bounded content, horizontal composition. */
.cemi-property-public-runtime .cemi-property-summary {
  grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
}
.cemi-property-public-runtime .cemi-progressive-grid,
.cemi-property-public-runtime .cemi-context-grid { --cemi-grid-columns: 3; }
.cemi-property-public-runtime .cemi-detail-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* Compact/tablet: two-column composition where it remains readable. */
@media (max-width: 1023px) {
  .cemi-property-public-runtime .cemi-property-summary { grid-template-columns: 1fr; }
  .cemi-property-public-runtime .cemi-progressive-grid,
  .cemi-property-public-runtime .cemi-context-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cemi-property-public-runtime .cemi-tool-grid { grid-template-columns: 1fr; }
}

/* Mobile: one reading column, with gallery retaining two visual tiles. */
@media (max-width: 767px) {
  /* SP-R2 mobile density: compact without wasting vertical space. */
  .cemi-property-public-runtime { --cemi-visitor-gutter-compact: 12px; --cemi-visitor-space-4: 14px; }
  .cemi-property-public-runtime .cemi-container,
  .cemi-property-public-runtime .cemi-container--full,
  .cemi-property-public-runtime .cemi-container--reading { padding-inline: var(--cemi-visitor-gutter-compact); }
  .cemi-property-public-runtime .cemi-section { padding-block: 36px; }
  .cemi-property-public-runtime .cemi-section-heading { align-items: flex-start; flex-direction: column; }
  .cemi-property-public-runtime .cemi-section-heading h2 { font-size: 25px; }
  .cemi-property-public-runtime .cemi-detail-grid,
  .cemi-property-public-runtime .cemi-progressive-grid,
  .cemi-property-public-runtime .cemi-context-grid { grid-template-columns: 1fr; }
  .cemi-property-public-runtime .cemi-contact-band { align-items: flex-start; flex-direction: column; }
  .cemi-property-public-runtime .cemi-search-results { grid-template-columns: 1fr; }
  .cemi-property-public-runtime .cemi-overlay > header,
  .cemi-property-public-runtime .cemi-overlay__body { padding: 16px; }
  .cemi-property-public-runtime .cemi-overlay {
    top: auto; bottom: 0; width: 100%; height: min(92dvh, 760px);
    border-top: 1px solid var(--cemi-visitor-border); border-left: 0;
  }
  .cemi-property-public-runtime .cemi-mobile-public-nav { display:none !important; }
}

@media (max-width: 479px) {
}

@media (prefers-reduced-motion: reduce) {
  .cemi-property-public-runtime *,
  .cemi-property-public-runtime *::before,
  .cemi-property-public-runtime *::after { scroll-behavior:auto !important; transition:none !important; }
}

/* F162 Point 1: advisor Single remains a read-only field surface. */
.cemi-advisor-single-banner {
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:10px max(16px, calc((100% - var(--cemi-visitor-content-width))/2));
  background:#0d1b2a; color:#fff; border-bottom:1px solid #29425d;
}
.cemi-advisor-single-banner span { font-weight:800; }
.cemi-advisor-single-banner a { color:#fff; }
.cemi-advisor-single-status {
  display:flex; align-items:center; gap:18px; padding-block:16px;
  border-bottom:1px solid var(--cemi-visitor-border);
}
.cemi-advisor-single-status div { display:flex; align-items:baseline; gap:8px; white-space:nowrap; }
.cemi-advisor-single-status strong { font-size:24px; }
.cemi-advisor-single-status p { margin:0; color:var(--cemi-visitor-color-muted); }
.cemi-advisor-insight__grid {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px;
}
.cemi-advisor-insight__grid article {
  min-width:0; padding:16px; border:1px solid var(--cemi-visitor-border);
  background:var(--cemi-visitor-surface-bg); border-radius:6px;
}
.cemi-advisor-insight__grid span,
.cemi-advisor-insight__grid strong { display:block; overflow-wrap:anywhere; }
.cemi-advisor-insight__grid span { margin-bottom:6px; color:var(--cemi-visitor-color-muted); font-size:13px; }
.cemi-advisor-single-actions .cemi-action-row { display:flex; flex-wrap:wrap; gap:10px; }

@media (max-width:1023px) {
  .cemi-advisor-insight__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:767px) {
  .cemi-advisor-single-banner,
  .cemi-advisor-single-status { align-items:flex-start; flex-direction:column; }
  .cemi-advisor-insight__grid { grid-template-columns:1fr; }
  .cemi-advisor-single-actions .cemi-action-row,
  .cemi-advisor-single-actions .cemi-button { width:100%; }
  .cemi-advisor-single-actions .cemi-button { justify-content:center; }
}

/* M1A · Advisor Single keeps the private portal context and compact actions. */
.cemi-surface-advisor-single{background:var(--cemi-private-bg,#071521);color:var(--cemi-private-text,#ffffff)}
.cemi-surface-advisor-single .cemi-public-site-main{min-height:calc(100dvh - 64px);background:var(--cemi-private-bg,#071521)}
.cemi-advisor-property-portal-header{position:sticky;top:0;z-index:1000}
.cemi-advisor-property-context{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-block:14px}
.cemi-advisor-property-context__status{display:flex;align-items:baseline;gap:8px;color:var(--cemi-private-muted,#a9bac9)}
.cemi-advisor-property-context__status strong{font-size:22px;color:var(--cemi-private-text,#ffffff)}
.cemi-advisor-property-context__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.cemi-surface-advisor-single .cemi-public-navigation{background:var(--cemi-private-panel-soft,#071827);border-color:var(--cemi-private-line,#29445c)}
.cemi-surface-advisor-single .cemi-property-flow{color:var(--cemi-private-text,#ffffff)}
@media(max-width:760px){
  .cemi-advisor-property-context{align-items:stretch;flex-direction:column}
  .cemi-advisor-property-context__actions{justify-content:flex-start}
  .cemi-advisor-property-context__actions .cemi-button{flex:1 1 auto;justify-content:center}
}
