/* Elson "Our Projects" footer banner (esap-pbanner) 1.9.19. Scoped to section.esap-pbanner.
   Selectors start with "section.esap-pbanner" so they beat the theme's
   ".post-detailed .prague-post-content a|p|ul" rules (grey p, a:hover opacity .5, ul margins). */
/* 1.9.19: eyebrow uses the site's own .preheaderTitle (custom.css: Roboto 300, 14pt, 2px tracking; theme h2 line-height 44px/34px)
   with no colour/weight override, so it computes like "MORE ON THIS PROJECT" on project posts (?p=8326). */
section.esap-pbanner .esap-pb-eyebrow h2{margin:0 0 6px;opacity:1}
section.esap-pbanner .esap-pb-top h2.vc_custom_heading{max-width:8.2em}
section.esap-pbanner .esap-pb-body p,section.esap-pbanner .esap-pb-body p.bodyText:not(.has-text-color){color:#222223;font-weight:400;line-height:1.5;margin:0;max-width:340px;opacity:1}
/* Button: white text on #222223; hover = clean white, #222223 text, instant (no transition/transform/opacity) */
section.esap-pbanner .esap-pb-btn a.vc_btn3,section.esap-pbanner .esap-pb-btn a.vc_btn3:hover,section.esap-pbanner .esap-pb-btn a.vc_btn3:focus{opacity:1!important;text-decoration:none!important;transition:none!important;transform:none!important;background-image:none!important;box-shadow:none!important}
section.esap-pbanner .esap-pb-btn a.vc_btn3{background-color:#222223!important;color:#fff!important}
section.esap-pbanner .esap-pb-btn a.vc_btn3:hover,section.esap-pbanner .esap-pb-btn a.vc_btn3:focus-visible{background-color:#fff!important;color:#222223!important}

/* Project cards (homepage cards: 10px radius, Roboto Condensed 700 white) */
section.esap-pbanner .esap-pb-cards{display:flex;gap:40px}
section.esap-pbanner a.esap-pb-card{position:relative;flex:1 1 0;display:block;aspect-ratio:318/269;border-radius:10px;overflow:hidden;background:#222223;outline:2px solid transparent;outline-offset:-2px;opacity:1;text-decoration:none}
section.esap-pbanner .esap-pb-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
section.esap-pbanner .esap-pb-card::after{content:"";position:absolute;inset:auto 0 0;height:50%;background:linear-gradient(to top,rgba(0,0,0,.75),transparent)}
section.esap-pbanner .esap-pb-meta{position:absolute;left:20px;right:20px;bottom:16px;z-index:1;display:flex;align-items:flex-end;gap:16px;font-family:"Roboto Condensed",sans-serif;font-weight:700;font-size:20px;line-height:1.2;color:#fff;text-transform:uppercase}
section.esap-pbanner .esap-pb-meta>span{line-height:1.2}
section.esap-pbanner .esap-pb-meta>span:first-child{flex:1 1 auto;min-width:0;overflow-wrap:break-word}
section.esap-pbanner .esap-pb-meta>span:last-child{flex:0 0 auto;white-space:nowrap}
section.esap-pbanner a.esap-pb-card:hover,section.esap-pbanner a.esap-pb-card:focus-visible{outline-color:#fff;opacity:1}
section.esap-pbanner a.esap-pb-card:hover img,section.esap-pbanner a.esap-pb-card:focus-visible img{transform:scale(1.04)}
section.esap-pbanner a.esap-pb-card:hover::after,section.esap-pbanner a.esap-pb-card:focus-visible::after{background:linear-gradient(to top,rgba(255,255,255,.95),rgba(255,255,255,0))}
section.esap-pbanner a.esap-pb-card:hover .esap-pb-meta,section.esap-pbanner a.esap-pb-card:focus-visible .esap-pb-meta{color:#222223}

/* Sector tiles */
section.esap-pbanner ul.esap-pb-tiles{list-style:none;margin:0;padding:0;display:flex;justify-content:space-between;gap:16px}
section.esap-pbanner ul.esap-pb-tiles li{flex:0 1 140px;min-width:0;margin:0;padding:0;list-style:none}
section.esap-pbanner ul.esap-pb-tiles a{display:flex;flex-direction:column;align-items:center;text-align:center;text-decoration:none;opacity:1;transition:none;font-family:"Roboto Condensed",sans-serif;font-weight:700;font-size:18px;line-height:1.2;letter-spacing:0;color:#222223}
section.esap-pbanner ul.esap-pb-tiles a>span:last-child{display:block;max-width:100%;line-height:1.2;overflow-wrap:normal;word-break:normal;hyphens:manual}
section.esap-pbanner .esap-pb-tile-icon{display:flex;align-items:center;justify-content:center;width:99px;height:99px;margin-bottom:18px;background:#222223;color:#fff;border:2px solid transparent;box-sizing:border-box}
section.esap-pbanner .esap-pb-tile-icon svg{width:66px;height:66px}
section.esap-pbanner ul.esap-pb-tiles a:hover,section.esap-pbanner ul.esap-pb-tiles a:focus-visible{color:#fff;opacity:1;text-decoration:none}
section.esap-pbanner ul.esap-pb-tiles a:hover .esap-pb-tile-icon,section.esap-pbanner ul.esap-pb-tiles a:focus-visible .esap-pb-tile-icon{background:#faaf43;border-color:#fff}

/* Tablet + mobile: text, then stacked cards, then wrapping tiles (3 per row, 2 on phones) */
@media (max-width:991px){
 /* 1.9.19: site mobile pairing (vc_hidden-lg/md copies on /services/, ?p=8326): preheader 12pt, title 28px */
 section.esap-pbanner .esap-pb-eyebrow h2.preheaderTitle{font-size:12pt}
 section.esap-pbanner .esap-pb-top h2.vc_custom_heading{font-size:28px!important}
 section.esap-pbanner .esap-pb-top>.wpb_column{width:100%;float:none}
 section.esap-pbanner .esap-pb-top>.wpb_column+.wpb_column{margin-top:30px}
 section.esap-pbanner .esap-pb-cards{flex-direction:column;gap:20px}
 section.esap-pbanner a.esap-pb-card{flex:none;width:100%}
 section.esap-pbanner ul.esap-pb-tiles{flex-wrap:wrap;justify-content:center;gap:28px 16px}
 section.esap-pbanner ul.esap-pb-tiles li{flex:0 0 calc((100% - 32px)/3)}
 section.esap-pbanner .esap-pb-tile-icon{width:80px;height:80px;margin-bottom:12px}
 section.esap-pbanner .esap-pb-tile-icon svg{width:52px;height:52px}
 section.esap-pbanner ul.esap-pb-tiles a{font-size:16px}
}
@media (max-width:600px){section.esap-pbanner ul.esap-pb-tiles li{flex:0 0 calc((100% - 16px)/2)}}
@media (max-width:420px){section.esap-pbanner ul.esap-pb-tiles a{font-size:15px}section.esap-pbanner .esap-pb-meta{font-size:18px}}
@media (prefers-reduced-motion:reduce){section.esap-pbanner .esap-pb-card img{transition:none}section.esap-pbanner a.esap-pb-card:hover img{transform:none}}
/* site-wide "* {font-family:Roboto;font-size:16px;font-weight:400}" override: make banner children inherit */
section.esap-pbanner ul.esap-pb-tiles a *,section.esap-pbanner .esap-pb-meta *,section.esap-pbanner .esap-pb-btn *,section.esap-pbanner .esap-pb-body p *{font-family:inherit!important;font-size:inherit!important;font-weight:inherit!important}
/* 1.9.18: the vc_section gets 35px top padding from WPBakery; with no background the black body showed through as a bar */
section.vc_section.esap-pbanner{padding:0!important;margin-top:0!important;background-color:#FAAF43}
section.vc_section.esap-pbanner>.vc_row{margin-left:0!important;margin-right:0!important}
/* site Design-Build icon: existing Media Library PNG (white on transparent), same box as the inline SVGs */
section.esap-pbanner .esap-pb-tile-icon img.esap-pb-icon-img{display:block;width:88px;height:88px;max-width:none;object-fit:contain;margin:0;border:0;box-shadow:none}
@media (max-width:991px){section.esap-pbanner .esap-pb-tile-icon img.esap-pb-icon-img{width:70px;height:70px}}

/* 1.9.19: year on project cards uses the lighter loaded weight (Roboto Condensed 400) */
section.esap-pbanner .esap-pb-meta>span:last-child{font-weight:400!important}

/* 1.9.20: project posts (this file loads only on posts with the banner): hide theme post-navigation strip and leftover comments/pingbacks so the banner flows into the footer */
body.single-post .post-navigation,body.single-post .post-comments{display:none!important}
