/* Sham RE Media: visual polish layer (loaded after style.css). Oct 10, 2026.
   Presentation only. No content changes. Remove the <link> in helpers.php renderHead() to roll back. */

:root{
  --sham-primary:#D34F39; --sham-ink:#1f2937; --sham-muted:#6b7280; --sham-line:#e5e7eb;
  --sham-radius:12px; --sham-shadow:0 1px 2px rgba(16,24,40,.06),0 4px 14px rgba(16,24,40,.06);
  --sham-shadow-hover:0 2px 4px rgba(16,24,40,.08),0 12px 28px rgba(16,24,40,.10);
}

/* ---------- Typography ---------- */
body{color:var(--sham-ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3{letter-spacing:-.015em;text-wrap:balance}
h1{line-height:1.1}
h2{line-height:1.2}
p{text-wrap:pretty}
section p.text-xl,section p.text-lg{line-height:1.6}
.sham-prose{max-width:70ch}
.sham-prose h2{color:var(--sham-ink);font-size:1.6rem}
.sham-prose .lead{font-size:1.15rem;line-height:1.7}

/* ---------- Section rhythm ---------- */
main > section, body > section{scroll-margin-top:96px}
section.py-20{padding-top:5rem;padding-bottom:5rem}
section.py-16{padding-top:4rem;padding-bottom:4rem}
section + section.bg-gray-50, section.bg-gray-50 + section{border-top:1px solid #f0f0f0}
@media (max-width:640px){
  section.py-20{padding-top:3.25rem;padding-bottom:3.25rem}
  section.py-16{padding-top:2.75rem;padding-bottom:2.75rem}
  .container{padding-left:1.25rem;padding-right:1.25rem}
  h1.text-5xl,h1.text-4xl{font-size:2.25rem}
  h2.text-4xl,h2.text-3xl{font-size:1.75rem}
}

/* ---------- Page headers (dark gradient heroes) ---------- */
section.bg-gradient-to-br.from-secondary h1{font-weight:700}
section.bg-gradient-to-br.from-secondary p{color:#d1d5db}

/* ---------- Buttons ---------- */
a.bg-primary, button.bg-primary, .btn-primary{border-radius:10px;font-weight:600;letter-spacing:.01em;box-shadow:0 1px 2px rgba(0,0,0,.08);transition:background-color .2s,box-shadow .2s,transform .2s}
a.bg-primary:hover, .btn-primary:hover{background-color:#b8412e;box-shadow:0 6px 16px rgba(211,79,57,.25);transform:translateY(-1px)}
a.bg-primary:focus-visible,.btn-primary:focus-visible{outline:3px solid rgba(211,79,57,.35);outline-offset:2px}

/* ---------- Cards ---------- */
.portfolio-card,.video-card,.service-card,.sham-vcard{border-radius:var(--sham-radius)!important;box-shadow:var(--sham-shadow)!important;transition:box-shadow .25s,transform .25s}
.portfolio-card:hover,.service-card:hover{box-shadow:var(--sham-shadow-hover)!important;transform:translateY(-2px)}
.portfolio-card h3,.service-card h3{letter-spacing:-.01em}
a.block.border-2.border-gray-200{border-width:1px;border-radius:var(--sham-radius)}
a.block.border-2.border-gray-200:hover{box-shadow:var(--sham-shadow)}

/* ---------- Credentials line (home / drone / 3D tours heroes only) ---------- */
.sham-creds{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem 2.25rem;margin:2rem auto 0;padding:0;list-style:none;font-size:.8125rem;letter-spacing:.02em}
.sham-creds__item{display:inline-flex;align-items:center;gap:.5rem;height:30px;padding:0 .9rem;border-radius:9999px;border:1px solid rgba(255,255,255,.28);color:rgba(255,255,255,.85);font-weight:500;white-space:nowrap}
.sham-creds__item .sham-ico{width:15px;height:15px;opacity:.85}
.sham-creds__logo{height:12px;width:auto;filter:brightness(0) invert(1);opacity:.85}
.sham-creds--light .sham-creds__item{border-color:var(--sham-line);color:var(--sham-muted)}
.sham-creds--light .sham-creds__logo{filter:grayscale(1);opacity:.7}
@media (max-width:640px){.sham-creds{gap:.6rem;margin-top:1.5rem;font-size:.75rem}.sham-creds__item{height:28px;padding:0 .75rem}}

/* ---------- Trust strip (light, no credentials) ---------- */
.sham-trust{padding:.9rem 0;border-bottom:1px solid var(--sham-line);background:#fafafa}
.sham-trust--dark{background:#fafafa}
.sham-trust__list{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 2.5rem;margin:0;padding:0;list-style:none;font-size:.875rem;color:var(--sham-muted)}
.sham-trust__item{display:inline-flex;align-items:center;gap:.45rem}
.sham-trust__item .sham-ico{width:15px;height:15px;color:#9ca3af}
@media (max-width:640px){.sham-trust__list{gap:.4rem 1.25rem;font-size:.8125rem}}

/* ---------- Portfolio groups ---------- */
.sham-pgroup + .sham-pgroup{margin-top:4rem;padding-top:3rem;border-top:1px solid var(--sham-line)}
.sham-pgroup__title{font-size:1.5rem;font-weight:700;color:var(--sham-ink);margin:0 0 1.5rem;display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem}
.sham-pgroup__title span{font-size:.875rem;font-weight:500;color:var(--sham-muted)}

/* ---------- Video grids & cards (true aspect, no cropping) ---------- */
.sham-vgrid{display:grid;gap:1.25rem}
.sham-vgrid--v{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:768px){.sham-vgrid--v{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1024px){.sham-vgrid--v{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:1280px){.sham-vgrid--v{grid-template-columns:repeat(5,minmax(0,1fr))}}
.sham-vgrid--h{grid-template-columns:1fr}
@media (min-width:640px){.sham-vgrid--h{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1280px){.sham-vgrid--h{grid-template-columns:repeat(2,minmax(0,1fr))}}
.sham-vgrid--feature{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:768px){.sham-vgrid--feature{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media (max-width:767px){.sham-vgrid--feature .sham-vcard:nth-child(5){display:none}}
.sham-vcard{margin:0;background:#fff;overflow:hidden;display:flex;flex-direction:column}
.sham-vcard__media{position:relative;background:#111;overflow:hidden}
.sham-vcard--v .sham-vcard__media{aspect-ratio:9/16}
.sham-vcard--h .sham-vcard__media{aspect-ratio:16/9}
.sham-vcard__cap{padding:.7rem .85rem .85rem;display:flex;flex-direction:column;gap:.15rem;min-height:3.9rem}
.sham-vcard__title{font-weight:600;font-size:.9rem;line-height:1.3;color:var(--sham-ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sham-vcard__meta{font-size:.75rem;color:var(--sham-muted);letter-spacing:.02em}
.sham-vcard:hover{box-shadow:var(--sham-shadow-hover)!important}
@media (max-width:640px){.sham-vgrid{gap:.75rem}.sham-vcard__cap{padding:.55rem .65rem .7rem;min-height:3.5rem}.sham-vcard__title{font-size:.8125rem}}

/* ---------- Footer ---------- */
footer{font-size:.9375rem}
footer h4{letter-spacing:.02em}

/* Facade thumbnails: always visible (style.css fades lazy images in via JS) */
.sham-video-facade img[loading="lazy"]{opacity:1}

/* Answer-first summary + last updated (AI search) */
.sham-quick{border-left:4px solid #D34F39;background:#f9fafb;border-radius:.5rem;padding:1rem 1.25rem;margin:0 0 2rem}
.sham-quick__label{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#D34F39;margin:0 0 .35rem!important}
.sham-quick__text{margin:0 0 .5rem!important;color:#1f2937}
.sham-updated{font-size:.85rem;color:#6b7280;margin:.25rem 0 1rem!important}
.sham-quick .sham-updated{margin:0!important}
.sham-byline{font-size:.95rem;color:#4b5563}
.sham-facts th{width:30%;background:#f9fafb;font-weight:600}

/* Buttons inside prose sections: keep button text white (beats .sham-prose a red link color). Oct 14, 2026 */
.sham-prose a.bg-primary,.sham-prose a.bg-primary:hover,.sham-prose a.bg-primary:focus,.sham-prose a.bg-primary:visited,
.sham-prose a.text-white,.sham-prose a.text-white:hover,.sham-prose a.btn-primary,.sham-prose a.btn-primary:hover{color:#fff!important;text-decoration:none!important}
.sham-prose a.bg-primary{background-color:#D34F39}
.sham-prose a.bg-primary:hover{background-color:#b8412e}
