/* Project-specific overrides layered over the retained Marketify base stylesheet. */
body.site-body { background-color: #0d0d0f; color: #f7f7f8; }
body.site-body h1, body.site-body h2, body.site-body h3, body.site-body h4 { color: #f7f7f8; }
body.site-body .container { max-width: none; padding: 0; }
body.site-body a { transition: color .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease; }


/* Projects and professional work */
.project-filters, .update-filters { margin-bottom: 2rem; padding: clamp(1.2rem,3vw,1.8rem); border: 1px solid var(--site-border); border-radius: var(--site-radius); background: rgba(255,255,255,.025); }
.project-filter-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.project-filter-grid label { display: grid; gap: .5rem; color: var(--site-text); font-size: .88rem; font-weight: 800; }
.project-filter-grid select { width: 100%; min-height: 48px; padding: .7rem .8rem; border: 1px solid var(--site-border); border-radius: 12px; color: var(--site-text); background: var(--site-panel-strong); font: inherit; }
.project-filter-grid select:focus-visible { outline: 3px solid var(--site-focus); outline-offset: 2px; }
.project-filter-actions { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1rem; }
.project-result-status { margin: 0; color: var(--site-muted); font-weight: 700; }
.project-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.1rem; }
.project-card { display: grid; grid-template-rows: 220px 1fr; overflow: hidden; border: 1px solid var(--site-border); border-radius: var(--site-radius); background: linear-gradient(145deg,rgba(35,35,42,.96),rgba(22,22,27,.94)); box-shadow: 0 12px 45px rgba(0,0,0,.18); }
.project-card__media { display: grid; min-height: 0; margin: 0; place-items: center; overflow: hidden; background: radial-gradient(circle at center,rgba(255,179,36,.13),rgba(12,12,15,.96)); }
.project-card__media img { width: 100%; height: 100%; object-fit: cover; }
.project-card__media img[src$=".svg"] { width: 92px; height: 92px; object-fit: contain; }
.project-card__body { display: flex; flex-direction: column; padding: clamp(1.25rem,3vw,1.8rem); }
.project-card__body h2 { margin: .7rem 0; font-size: clamp(1.25rem,2.4vw,1.65rem); }
.project-card__body > p { color: var(--site-muted); }
.project-card__meta, .update-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem .8rem; color: var(--site-muted); font-size: .82rem; font-weight: 750; }
.project-card__meta .status-badge, .update-card__meta .status-badge { margin-bottom: 0; }
.project-card__facts { display: grid; gap: .45rem; margin: .4rem 0 1rem; }
.project-card__facts div, .project-dialog__facts div { display: grid; grid-template-columns: 72px 1fr; gap: .65rem; }
.project-card__facts dt, .project-dialog__facts dt { color: var(--site-text); font-weight: 850; }
.project-card__facts dd, .project-dialog__facts dd { margin: 0; color: var(--site-muted); }
.project-card__contribution { padding-left: 1rem; border-left: 3px solid var(--site-accent-2); }
.project-card__actions { display: flex; flex-wrap: wrap; gap: .65rem; align-items: center; margin-top: auto; padding-top: .5rem; }
.project-link { display: inline-flex; min-height: 42px; align-items: center; padding: .55rem .8rem; border: 1px solid var(--site-border); border-radius: 999px; color: var(--site-text); font-weight: 800; text-decoration: none; }
.project-link:hover { color: #111; border-color: var(--site-accent-2); background: var(--site-accent-2); }
.project-link--muted { color: var(--site-muted); font-size: .85rem; }
.project-details-button { display: none; cursor: pointer; }
.js .project-details-button { display: inline-flex; }
.status-badge--ongoing, .status-badge--operational { color: #9ef0bf; border-color: rgba(90,225,145,.42); }
.status-badge--released, .status-badge--published { color: #8dd9ff; border-color: rgba(75,190,255,.42); }
.status-badge--under-review { color: #ffd37d; border-color: rgba(255,196,84,.45); }
.status-badge--completed { color: #d0d0d9; border-color: rgba(208,208,217,.32); }
.project-dialog {
  width: min(1120px,calc(100vw - 2rem));
  max-width: none;
  max-height: calc(100dvh - 2rem);
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(255,179,36,.42);
  border-radius: var(--site-radius);
  color: var(--site-text);
  background: #17171b;
  box-shadow: 0 30px 100px rgba(0,0,0,.65);
}
.project-dialog::backdrop { background: rgba(0,0,0,.76); backdrop-filter: blur(4px); }
.project-dialog__panel {
  position: relative;
  display: grid;
  grid-template-columns: minmax(320px,40%) minmax(0,60%);
  grid-template-areas: "media content";
  max-height: calc(100dvh - 2rem);
  min-height: min(620px,calc(100dvh - 2rem));
}
.project-dialog__panel > form {
  position: absolute;
  top: .8rem;
  right: .8rem;
  z-index: 4;
  margin: 0;
}
.project-dialog__close {
  position: static;
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 1px solid var(--site-border);
  border-radius: 50%;
  color: var(--site-text);
  background: rgba(13,13,15,.92);
  box-shadow: 0 6px 24px rgba(0,0,0,.35);
  font-size: 1.8rem;
  line-height: 1;
  cursor: pointer;
}
.project-dialog__close:hover { border-color: var(--site-accent-2); color: #111; background: var(--site-accent-2); }
.project-dialog__close:focus-visible { outline: 3px solid var(--site-focus); outline-offset: 3px; }
.project-dialog__media {
  grid-area: media;
  display: grid;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  place-items: center;
  background: radial-gradient(circle at center,rgba(255,179,36,.15),rgba(12,12,15,.96));
}
.project-dialog__media picture { display: grid; width: 100%; height: 100%; min-height: 0; align-items: start; }
.project-dialog__media img { display: block; width: 100%; height: auto; max-height: 100%; min-width: 0; min-height: 0; object-fit: contain; object-position: center top; }
.project-dialog__media[data-fit="cover"] img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.project-dialog__media[data-kind="icon"] picture { place-items: center; }
.project-dialog__media[data-kind="icon"] img { width: min(58%,260px); height: auto; max-height: 58%; padding: 1rem; object-fit: contain; }
.project-dialog__content {
  grid-area: content;
  min-width: 0;
  max-height: calc(100dvh - 2rem);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: clamp(1.5rem,3vw,2.75rem);
  padding-right: clamp(1.7rem,3.5vw,3rem);
  scrollbar-gutter: stable;
}
.project-dialog__content h2 { margin: .7rem 0; max-width: 22ch; font-size: clamp(1.7rem,3vw,2.5rem); line-height: 1.12; text-wrap: balance; }
.project-dialog__content p { max-width: none; color: var(--site-muted); line-height: 1.7; }
.project-dialog__content h3 { margin: 1.4rem 0 .4rem; font-size: 1rem; }
.project-dialog__facts { display: grid; gap: .6rem; margin: 1.3rem 0; }
.project-dialog__facts div { grid-template-columns: minmax(105px,135px) minmax(0,1fr); gap: .8rem; }
.project-dialog__facts dd { overflow-wrap: anywhere; }
.project-dialog__links { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.5rem; }
.project-dialog__links .button { max-width: 100%; white-space: normal; text-align: center; }

/* Updates */
.update-list { display: grid; gap: 1rem; }
.update-card { display: grid; grid-template-columns: minmax(180px,280px) minmax(0,1fr); overflow: hidden; border: 1px solid var(--site-border); border-radius: var(--site-radius); background: linear-gradient(145deg,rgba(35,35,42,.96),rgba(22,22,27,.94)); }
.update-card__media { display: grid; min-height: 210px; margin: 0; place-items: center; overflow: hidden; background: radial-gradient(circle at center,rgba(255,179,36,.13),rgba(12,12,15,.96)); }
.update-card__media img { width: 100%; height: 100%; object-fit: cover; }
.update-card__media img[src$=".svg"] { width: 82px; height: 82px; object-fit: contain; }
.update-card__body { padding: clamp(1.25rem,3vw,2rem); }
.update-card__body h2 { margin: .65rem 0; font-size: clamp(1.25rem,2.5vw,1.65rem); }
.update-card__body p { color: var(--site-muted); }
.update-card__links { display: flex; flex-wrap: wrap; gap: .75rem; }
.featured-project-grid, .latest-update-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.featured-project-card, .latest-update-card { padding: clamp(1.25rem,3vw,1.8rem); border: 1px solid var(--site-border); border-radius: var(--site-radius); background: linear-gradient(145deg,rgba(35,35,42,.96),rgba(22,22,27,.94)); }
.featured-project-card h3, .latest-update-card h3 { margin: .65rem 0; font-size: 1.18rem; }
.featured-project-card p, .latest-update-card p { color: var(--site-muted); }
.latest-update-card time { color: var(--site-accent-2); font-size: .82rem; font-weight: 800; }
@media (max-width: 920px) {
  .project-grid, .featured-project-grid, .latest-update-grid { grid-template-columns: 1fr; }
  .project-dialog {
    width: min(760px,calc(100vw - 1rem));
    max-height: calc(100dvh - 1rem);
    overflow: hidden;
  }
  .project-dialog__panel {
    grid-template-columns: minmax(0,1fr);
    grid-template-rows: minmax(180px,32dvh) minmax(0,1fr);
    grid-template-areas: "media" "content";
    height: calc(100dvh - 1rem);
    max-height: calc(100dvh - 1rem);
    min-height: 0;
  }
  .project-dialog__media { max-height: none; }
  .project-dialog__content { min-height: 0; max-height: none; overflow-y: auto; padding: clamp(1.35rem,4vw,2.25rem); scrollbar-gutter: auto; }
  .project-dialog__content h2 { max-width: none; }
  .update-card { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .project-filter-grid { grid-template-columns: 1fr; }
  .project-filter-actions { align-items: stretch; flex-direction: column; }
  .project-card { grid-template-rows: 190px 1fr; }
  .project-card__facts div, .project-dialog__facts div { grid-template-columns: 1fr; gap: .1rem; }
}
