/* Phase 6F: portfolio landing, case studies and the homepage "Selected Work" section.
   Layout comes from Elementor widgets; this file only adds presentation. Brand tokens only (brand.css); no JavaScript, no external requests.
   Project accents are used for thin stripes and chips only, taken from each project's own public colours. */
.lavinty-portfolio #page .lvp-acc-ph { --lvp-accent: #00B080; --lvp-deep: #0E3D52; }
.lavinty-portfolio #page .lvp-acc-lb { --lvp-accent: #F07050; --lvp-deep: #5A3418; }
.lavinty-portfolio #page .lvp-acc-rk { --lvp-accent: #C0A050; --lvp-deep: #0F1A33; }
.lavinty-portfolio #page .lvp-acc-da { --lvp-accent: #D02070; --lvp-deep: #4A0E2E; }
.lavinty-portfolio #page .lvp-acc-sb { --lvp-accent: #E00000; --lvp-deep: #111111; }

/* shared section rhythm (the base .lva-section / .lvt-section rules still apply) */
.lavinty-portfolio #page .lvp-section { padding: calc(var(--lavinty-space-8) + var(--lavinty-space-5)) var(--lavinty-space-6); }
.lavinty-portfolio #page .lvp-section > .elementor-container { max-width: var(--lavinty-content-max); }
.lavinty-portfolio #page .lvp-section .elementor-widget-wrap { align-content: flex-start; padding: 0; }
.lavinty-portfolio #page .lvp-section .elementor-widget { width: 100%; margin-block-end: 0; min-width: 0; }
.lavinty-portfolio #page .lvp-section :is(h1, h2, h3, p) { margin-block: 0; }
.lavinty-portfolio #page .lvp-section h2 { font-size: var(--lavinty-text-h2); line-height: 1.2; max-width: 28ch; }
.lavinty-portfolio #page .lvp-section h3 { font-size: var(--lavinty-text-h4); line-height: 1.35; }
.lavinty-portfolio #page .lvp-section .elementor-widget-text-editor { color: var(--lavinty-muted); }
.lavinty-portfolio #page .lvp-section .elementor-widget-text-editor p + p { margin-block-start: var(--lavinty-space-4); }
.lavinty-portfolio #page .lvp-muted { background: var(--lavinty-off-white); }
.lavinty-portfolio #page .lvp-stack > .elementor-container > .elementor-column > .elementor-widget-wrap { display: flex; flex-direction: column; gap: var(--lavinty-space-5); }
.lavinty-portfolio #page .lvp-intro { max-width: 70ch; padding-inline-end: var(--lavinty-space-7); }
.lavinty-portfolio #page .lvp-intro > .elementor-widget-wrap { display: flex; flex-direction: column; gap: var(--lavinty-space-5); }
/* tighter flow from a section lead-in to its card grid when both share a background */
.lavinty-portfolio #page .lvp-stack:not(.lvp-muted) + .lvp-grid:not(.lvp-muted), .lavinty-portfolio #page .lvp-stack.lvp-muted + .lvp-grid.lvp-muted { padding-block-start: 0; }
.lavinty-portfolio #page .lvp-stack:not(.lvp-muted):has(+ .lvp-grid:not(.lvp-muted)), .lavinty-portfolio #page .lvp-stack.lvp-muted:has(+ .lvp-grid.lvp-muted) { padding-block-end: var(--lavinty-space-6); }

/* hero facts card (uses .lva-brief from architecture.css for the dark panel) */
.lavinty-portfolio #page .lvp-section .lva-brief > .elementor-widget-wrap { padding: var(--lavinty-space-7); }
.lavinty-portfolio #page .lvp-section .lva-brief h2 { font-size: 1.375rem; line-height: 1.3; color: var(--lavinty-white); max-width: none; }
.lavinty-portfolio #page .lvp-section .lva-brief .elementor-widget-text-editor { color: var(--lavinty-silver); }
.lavinty-portfolio #page .lvp-section .lva-brief .elementor-widget-text-editor p { font-size: var(--lavinty-text-small); color: var(--lavinty-silver); }
.lavinty-portfolio #page .lva-brief ul { margin: 0; padding-inline-start: 1.15em; color: var(--lavinty-silver); display: grid; gap: var(--lavinty-space-2); }
.lavinty-portfolio #page .lva-brief strong { color: var(--lavinty-white); font-weight: 600; }
.lavinty-portfolio #page .lvp-hero-copy > .elementor-widget-wrap { display: flex; flex-direction: row; flex-wrap: wrap; align-items: flex-start; gap: var(--lavinty-space-5) var(--lavinty-space-3); }
.lavinty-portfolio #page .lvp-hero-copy .elementor-widget { width: 100%; }
.lavinty-portfolio #page .lvp-hero-copy .elementor-widget-button { width: auto; margin-block-start: var(--lavinty-space-2); }
.lavinty-portfolio #page .lvp-ghost .elementor-button { background: transparent; color: var(--lavinty-navy); border: 1px solid var(--lavinty-navy); }
.lavinty-portfolio #page .lvp-ghost .elementor-button:hover { background: var(--lavinty-navy); color: var(--lavinty-white); }
.lavinty-portfolio #page .lvp-chip .elementor-heading-title { display: inline-block; font-size: .75rem; font-weight: 600; letter-spacing: .06em; line-height: 1.5; color: var(--lvp-deep, var(--lavinty-navy)); border-inline-start: 3px solid var(--lvp-accent, var(--lavinty-teal)); padding-inline-start: .6rem; }

/* screenshots */
.lavinty-portfolio .lvp-shot { margin: 0; }
.lavinty-portfolio .lvp-shot img { display: block; width: 100%; height: auto; }
.lavinty-portfolio .lvp-shot--d { position: relative; overflow: hidden; background: var(--lavinty-white); border: 1px solid var(--lavinty-border); border-radius: 12px; box-shadow: 0 22px 48px -28px rgba(10, 31, 61, .45); }
.lavinty-portfolio .lvp-shot--d::before { content: ""; display: block; height: 26px; background-color: #EEF2F7; border-block-end: 1px solid var(--lavinty-border);
  background-image: radial-gradient(circle at 14px 13px, #FF5F57 4px, transparent 5px), radial-gradient(circle at 30px 13px, #FEBC2E 4px, transparent 5px), radial-gradient(circle at 46px 13px, #28C840 4px, transparent 5px); }
.lavinty-portfolio .lvp-shot--m { max-width: 260px; margin-inline: auto; overflow: hidden; background: var(--lavinty-navy); border: 6px solid var(--lavinty-navy); border-radius: 30px; box-shadow: 0 22px 48px -26px rgba(10, 31, 61, .55); }
.lavinty-portfolio .lvp-shot--m img { border-radius: 22px; }
.lavinty-portfolio #page .lvp-showcase > .elementor-container { display: block; }
.lavinty-portfolio #page .lvp-showcase .lvp-shot--d { max-width: 1040px; margin-inline: auto; }
.lavinty-portfolio #page .lvp-gallery > .elementor-container { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: var(--lavinty-space-6); align-items: start; }
.lavinty-portfolio #page .lvp-gallery > .elementor-container > .elementor-column { width: 100%; min-width: 0; }
.lavinty-portfolio #page .lvp-gallery .elementor-widget-wrap { display: flex; flex-direction: column; gap: var(--lavinty-space-6); }
.lavinty-portfolio #page .lvp-phones .elementor-widget-wrap { flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: flex-start; gap: var(--lavinty-space-5); }
.lavinty-portfolio #page .lvp-phones .elementor-widget { width: calc(50% - var(--lavinty-space-3)); }
.lavinty-portfolio #page .lvp-caption .elementor-heading-title { font-size: .875rem; font-weight: 400; color: var(--lavinty-muted); line-height: 1.6; }

/* cards */
.lavinty-portfolio #page .lvp-grid > .elementor-container { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--lavinty-space-6); }
.lavinty-portfolio #page .lvp-grid.lvp-three > .elementor-container { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lavinty-portfolio #page .lvp-grid.lvp-four > .elementor-container { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.lavinty-portfolio #page .lvp-grid > .elementor-container > .elementor-column { width: 100%; min-width: 0; }
.lavinty-portfolio #page .lvp-card > .elementor-widget-wrap { display: flex; flex-direction: column; gap: var(--lavinty-space-4); height: 100%; padding: 0 0 var(--lavinty-space-6); background: var(--lavinty-white); border: 1px solid var(--lavinty-border); border-block-start: 4px solid var(--lvp-accent, var(--lavinty-teal)); border-radius: var(--lavinty-radius-card); overflow: hidden; }
.lavinty-portfolio #page .lvp-card .lvp-thumb .lvp-shot--d { border: 0; border-radius: 0; box-shadow: none; }
.lavinty-portfolio #page .lvp-card .lvp-thumb .lvp-shot--d::before { display: none; }
.lavinty-portfolio #page .lvp-card .lvp-thumb img { aspect-ratio: 16 / 10; object-fit: cover; object-position: top; }
.lavinty-portfolio #page .lvp-card > .elementor-widget-wrap > .elementor-widget:not(.lvp-thumb) { padding-inline: var(--lavinty-space-6); }
.lavinty-portfolio #page .lvp-card h3 { font-size: 1.375rem; }
.lavinty-portfolio #page .lvp-card .elementor-widget-text-editor { font-size: 1rem; }
.lavinty-portfolio #page .lvp-card .lvp-card-links { margin-block-start: auto; }
.lavinty-portfolio #page .lvp-card-links p { display: flex; flex-wrap: wrap; gap: var(--lavinty-space-1) var(--lavinty-space-5); margin: 0; }
.lavinty-portfolio #page .lvp-card-links a { display: inline-flex; align-items: center; min-height: var(--lavinty-control-height); color: var(--lavinty-link); font-weight: 600; text-decoration: none; }
.lavinty-portfolio #page .lvp-card-links a:hover { color: var(--lavinty-navy); text-decoration: underline; text-underline-offset: .25em; }
.lavinty-portfolio #page .lvp-grid.lvp-one > .elementor-container { grid-template-columns: minmax(0, 1fr); }
/* two-up fact panels keep their own height; card grids (three/four up) stay equal height */
.lavinty-portfolio #page .lvp-grid:not(.lvp-three):not(.lvp-four) > .elementor-container { align-items: start; }
.lavinty-portfolio #page .lvp-text-link .elementor-button { color: var(--lavinty-link); background: transparent; border: 0; box-shadow: none; padding: var(--lavinty-space-2) 0; font-size: 1rem; text-align: start; min-height: var(--lavinty-control-height); }
.lavinty-portfolio #page .lvp-text-link .elementor-button:hover { text-decoration: underline; text-underline-offset: .25em; color: var(--lavinty-navy); }
.lavinty-portfolio #page .lvp-feature > .elementor-widget-wrap { display: flex; flex-direction: column; gap: var(--lavinty-space-3); padding: var(--lavinty-space-6); background: var(--lavinty-white); border: 1px solid var(--lavinty-border); border-block-start: 3px solid var(--lvp-accent, var(--lavinty-teal)); border-radius: var(--lavinty-radius-card); height: 100%; }
.lavinty-portfolio #page .lvp-feature ul { margin: 0; padding-inline-start: 1.15em; display: grid; gap: var(--lavinty-space-2); color: var(--lavinty-muted); }
.lavinty-portfolio #page .lvp-feature li { line-height: 1.6; }
.lavinty-portfolio #page .lvp-note .elementor-widget-container { font-size: .875rem; color: var(--lavinty-muted); border-inline-start: 3px solid var(--lavinty-border); padding-inline-start: var(--lavinty-space-4); }

/* call to action band */
.lavinty-portfolio #page .lvp-cta { background: var(--lavinty-navy); }
.lavinty-portfolio #page .lvp-cta > .elementor-container { display: grid; grid-template-columns: 1.6fr 1fr; gap: var(--lavinty-space-7); align-items: center; }
.lavinty-portfolio #page .lvp-cta > .elementor-container > .elementor-column { width: 100%; }
.lavinty-portfolio #page .lvp-cta h2, .lavinty-portfolio #page .lvp-cta .elementor-heading-title { color: var(--lavinty-white); }
.lavinty-portfolio #page .lvp-cta .elementor-widget-text-editor { color: var(--lavinty-silver); }
.lavinty-portfolio #page .lvp-cta .elementor-button { background: var(--lavinty-teal); color: var(--lavinty-navy); font-weight: 600; }
.lavinty-portfolio #page .lvp-cta .elementor-button:hover { background: var(--lavinty-white); }

/* "how we deliver" steps */
.lavinty-portfolio #page .lvp-step > .elementor-widget-wrap { display: flex; flex-direction: column; gap: var(--lavinty-space-3); padding-block-start: var(--lavinty-space-5); border-block-start: 3px solid var(--lavinty-teal); }

/* homepage Selected Work (inside the existing .lvt-section rhythm) */
.lavinty-homepage #page .lvp-selected { background: var(--lavinty-white); border-block-start: 1px solid var(--lavinty-border); }
.lavinty-homepage #page .lvp-selected .lvp-head > .elementor-container { display: grid; grid-template-columns: 1.6fr 1fr; gap: var(--lavinty-space-6); align-items: end; }
.lavinty-homepage #page .lvp-selected .lvp-head > .elementor-container > .elementor-column { width: 100%; }
.lavinty-homepage #page .lvp-selected .lvp-head .lvp-viewall .elementor-widget-container { display: flex; justify-content: flex-end; }
.lavinty-homepage #page .lvp-selected .lvp-head { margin-block-end: var(--lavinty-space-7); }
/* the homepage adds its own heading-to-text margin; the card rhythm is already set by the flex gap */
.lavinty-brand.lavinty-homepage #page .lvp-selected.lvt-home .lvp-card .elementor-widget { margin-block-start: 0; }

@media (max-width: 1024px) {
  .lavinty-portfolio #page .lvp-grid.lvp-four > .elementor-container, .lavinty-portfolio #page .lvp-grid.lvp-three > .elementor-container { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lavinty-portfolio #page .lvp-gallery > .elementor-container, .lavinty-portfolio #page .lvp-cta > .elementor-container, .lavinty-homepage #page .lvp-selected .lvp-head > .elementor-container { grid-template-columns: minmax(0, 1fr); }
  .lavinty-homepage #page .lvp-selected .lvp-head .lvp-viewall .elementor-widget-container { justify-content: flex-start; }
}
@media (max-width: 767px) {
  .lavinty-portfolio #page .lvp-section .lva-brief > .elementor-widget-wrap { padding: var(--lavinty-space-6); }
  .lavinty-portfolio #page .lvp-section { padding: var(--lavinty-space-8) var(--lavinty-space-4); }
  .lavinty-portfolio #page .lvp-grid > .elementor-container, .lavinty-portfolio #page .lvp-grid.lvp-three > .elementor-container, .lavinty-portfolio #page .lvp-grid.lvp-four > .elementor-container { grid-template-columns: minmax(0, 1fr); }
  .lavinty-portfolio #page .lvp-phones .elementor-widget { width: min(100%, 260px); }
  .lavinty-portfolio #page .lvp-hero-copy .elementor-widget-button { width: 100%; }
  .lavinty-portfolio #page .lvp-hero-copy .elementor-button { width: 100%; justify-content: center; }
}
@media print { .lavinty-portfolio .lvp-shot--d { box-shadow: none; } }
