/* ==========================================================================
   AWCompany ApS — Modulhuse fra Polen Marketplace (Master Prompt #7)
   Scoped to .mkt-* only — no bare element selectors (CLAUDE.md CSS rule).
   ========================================================================== */

/* ---- Independent-partner disclosure banner (spec §12) ------------------- */
.mkt-partner-notice{
  background: var(--c-bg-alt); border-left:3px solid var(--c-timber);
  padding:0.85em 1.1em; font-size: var(--fs-small); color: var(--c-ink-soft);
  margin-bottom: var(--sp-3);
}

/* ---- Filters ------------------------------------------------------------- */
.mkt-filters{
  display:grid; grid-template-columns: repeat(auto-fit, minmax(150px,1fr));
  gap: var(--sp-2); background: var(--c-surface); border:1px solid var(--c-line);
  padding: var(--sp-3); margin-bottom: var(--sp-3);
}
.mkt-filters .field{ margin:0; }
.mkt-filters__actions{ grid-column: 1 / -1; display:flex; gap:0.75rem; justify-content:flex-end; }
.mkt-result-count{ font-size: var(--fs-small); color: var(--c-ink-faint); margin-bottom: var(--sp-2); }

/* ---- House grid + card ---------------------------------------------------- */
.mkt-grid{ display:grid; grid-template-columns: repeat(auto-fill, minmax(280px,1fr)); gap:1px; background: var(--c-line); border:1px solid var(--c-line); }
.mkt-card{ background: var(--c-surface); display:flex; flex-direction:column; position:relative; }
.mkt-card__media{ position:relative; aspect-ratio: 4/3; overflow:hidden; background: var(--c-bg-alt); }
.mkt-card__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.mkt-card__featured{ position:absolute; top:0.6em; left:0.6em; background: var(--c-ink); color:var(--c-on-dark); font-size:var(--fs-label); text-transform:uppercase; letter-spacing:0.05em; padding:0.3em 0.7em; }
.mkt-card__fav{
  position:absolute; top:0.5em; right:0.5em; width:36px; height:36px; border-radius:50%;
  background: rgba(255,255,255,0.9); border:none; cursor:pointer; font-size:1.1rem;
  display:flex; align-items:center; justify-content:center; line-height:1;
}
.mkt-card__fav.is-active{ color:#b3382c; }
.mkt-card__body{ padding: var(--sp-3); display:flex; flex-direction:column; gap:0.4rem; flex:1; }
.mkt-card__manufacturer{ font-size: var(--fs-label); letter-spacing:0.05em; text-transform:uppercase; color:var(--c-ink-faint); }
.mkt-card__name{ font-size:1.1rem; font-weight:600; margin:0; }
.mkt-card__meta{ font-size: var(--fs-small); color: var(--c-ink-soft); }
.mkt-card__scope{ font-size: var(--fs-label); color: var(--c-ink-faint); }
.mkt-card__price{ font-family: var(--f-display); font-weight:700; font-size:1.3rem; color: var(--c-ink); margin-top:auto; }
.mkt-card__price-date{ font-size: var(--fs-label); color: var(--c-ink-faint); }
.mkt-card__actions{ display:flex; gap:0.5rem; padding: 0 var(--sp-3) var(--sp-3); }
.mkt-card__actions .btn{ flex:1; font-size:0.78rem; padding:0.7em 1em; }
.mkt-card__compare{ display:flex; align-items:center; gap:0.4em; font-size: var(--fs-label); padding: 0 var(--sp-3) 0.75rem; color: var(--c-ink-faint); }

/* ---- House detail --------------------------------------------------------- */
.mkt-gallery{ display:grid; grid-template-columns: 2fr 1fr; gap:4px; margin-bottom: var(--sp-3); }
.mkt-gallery__main{ aspect-ratio: 4/3; overflow:hidden; background:var(--c-bg-alt); }
.mkt-gallery__main img{ width:100%; height:100%; object-fit:cover; display:block; }
.mkt-gallery__thumbs{ display:grid; grid-template-columns: repeat(2,1fr); gap:4px; }
.mkt-gallery__thumbs button{ padding:0; border:none; cursor:pointer; aspect-ratio:1; overflow:hidden; background:var(--c-bg-alt); }
.mkt-gallery__thumbs img{ width:100%; height:100%; object-fit:cover; display:block; }
.mkt-gallery__label{ position:absolute; }
@media (max-width: 720px){ .mkt-gallery{ grid-template-columns: 1fr; } .mkt-gallery__thumbs{ grid-template-columns: repeat(4,1fr); } }

.mkt-spec-grid{ display:grid; grid-template-columns: repeat(auto-fit, minmax(160px,1fr)); gap:0.5rem 1.5rem; margin-top: var(--sp-2); }
.mkt-spec-row{ display:flex; justify-content:space-between; gap:1rem; padding:0.4em 0; border-bottom:1px solid var(--c-line); font-size: var(--fs-small); }
.mkt-spec-row span:first-child{ color: var(--c-ink-faint); }

.mkt-scope-list{ display:flex; flex-direction:column; gap:0.4rem; margin-top: var(--sp-2); }
.mkt-scope-row{ display:flex; justify-content:space-between; gap:1rem; padding:0.5em 0.85em; background: var(--c-bg-alt); font-size: var(--fs-small); }
.mkt-scope-tag{ font-size: var(--fs-label); font-weight:600; padding:0.15em 0.6em; border-radius: var(--radius-pill); }
.mkt-scope-tag.is-included{ background:#e5f3ea; color:#1e6b3c; }
.mkt-scope-tag.is-not-included{ background:#fbeaea; color:#8a2e2e; }
.mkt-scope-tag.is-optional{ background:#fff4de; color:#8a6416; }
.mkt-scope-tag.is-unknown{ background:#eee; color:#777; }

.mkt-estimate{ background: var(--c-bg-alt); border:1px solid var(--c-line); padding: var(--sp-3); margin-top: var(--sp-3); }
.mkt-estimate__row{ display:flex; justify-content:space-between; gap:1rem; padding:0.4em 0; font-size: var(--fs-small); }
.mkt-estimate__row.is-missing{ color: var(--c-ink-faint); font-style:italic; }
.mkt-estimate__total{ display:flex; justify-content:space-between; font-family: var(--f-display); font-weight:700; font-size:1.3rem; border-top:2px solid var(--c-ink); margin-top:0.5rem; padding-top:0.6rem; }
.mkt-estimate__status{ margin-top:0.75rem; padding:0.5em 0.8em; font-size: var(--fs-small); background:#fff4de; color:#8a6416; }

.mkt-claim{ font-size: var(--fs-label); color: var(--c-ink-faint); display:inline-flex; align-items:center; gap:0.35em; }

/* ---- Comparison ------------------------------------------------------------ */
.mkt-compare-bar{ position:sticky; bottom:0; background: var(--c-ink); color: var(--c-on-dark); padding:0.85rem var(--sp-2); display:flex; align-items:center; justify-content:space-between; gap:1rem; z-index:20; }
.mkt-compare-table{ width:100%; border-collapse:collapse; font-size: var(--fs-small); }
.mkt-compare-table th, .mkt-compare-table td{ text-align:left; padding:0.6em 0.85em; border-bottom:1px solid var(--c-line); vertical-align:top; }
.mkt-compare-table th{ font-size: var(--fs-label); text-transform:uppercase; letter-spacing:0.04em; color:var(--c-ink-faint); }
.mkt-compare-scroll{ overflow-x:auto; }

/* ---- Manufacturer profile --------------------------------------------------- */
.mkt-manufacturer-header{ display:flex; align-items:center; gap:1.5rem; flex-wrap:wrap; margin-bottom: var(--sp-3); }
.mkt-manufacturer-header img{ width:96px; height:96px; object-fit:contain; background:var(--c-surface); border:1px solid var(--c-line); }

/* ---- Partner landing / application ------------------------------------------ */
.mkt-plan-grid{ display:grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); gap:1px; background:var(--c-line); border:1px solid var(--c-line); margin: var(--sp-3) 0; }
.mkt-plan-card{ background: var(--c-surface); padding: var(--sp-3); display:flex; flex-direction:column; gap:0.5rem; }
.mkt-plan-card__price{ font-family: var(--f-display); font-weight:700; font-size:1.6rem; }
.mkt-plan-card ul{ list-style:none; padding:0; margin:0; font-size: var(--fs-small); color: var(--c-ink-soft); display:flex; flex-direction:column; gap:0.35rem; }
.mkt-plan-card li::before{ content:'— '; color: var(--c-ink-faint); }

/* ---- Admin ------------------------------------------------------------------ */
.mkt-admin-section{ margin-bottom: var(--sp-4); }
.mkt-admin-row{ display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:0.75em 1em; border:1px solid var(--c-line); margin-bottom:0.5rem; flex-wrap:wrap; }
.mkt-admin-row__actions{ display:flex; gap:0.5rem; }
.mkt-admin-row__actions .btn{ font-size:0.78rem; padding:0.55em 1em; }

.mkt-empty-note{ color: var(--c-ink-faint); font-size: var(--fs-small); padding: var(--sp-3) 0; }

/* [hidden] must win over any authored display rule on the same element —
   same fix already applied elsewhere in this codebase. */
.mkt-estimate__status[hidden],
.mkt-compare-bar[hidden]{ display:none !important; }
