/* Featured Projects Panel - Public CSS (v1.5.0) */
.fpp-section{
  padding:0px 0;
  --fpp-media: 55%;
  --fpp-peek: 0%;
  --fpp-peek-px: 0px;
  --fpp-slide-w: auto;
  --fpp-gap: 14px;
  --fpp-blur: 2px;
  --fpp-arrow-top: 0px;
  --fpp-arrow-right: 0px;
  --fpp-fade-w: 0px;
  --fpp-fade-c: #ffffff;
  position: relative;
}

.fpp-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.fpp-kicker{letter-spacing:.22em;font-size:12px;color:#777;text-transform:uppercase;margin-bottom:6px}
.fpp-h2{margin:0;font-size:44px;line-height:1.05;font-weight:500}

.fpp-nav{display:flex;gap:10px;align-items:center;margin-top:6px}
.fpp-arrow{
  width:44px;height:44px;border-radius:50%;
  border:1px solid #cfcfcf;background:#fff;color:#111;
  display:inline-flex;align-items:center;justify-content:center;
  cursor:pointer;
  padding:0;
}
.fpp-ico{width:22px;height:22px;display:block}

.fpp-arrows-inside .fpp-head{position: relative; margin-bottom: 12px;}
.fpp-arrows-inside .fpp-nav{
  position:absolute;
  top: var(--fpp-arrow-top);
  right: var(--fpp-arrow-right);
  margin-top:0;
  z-index: 5;
}

.fpp-slider{position:relative;overflow:hidden}

/* Peek + Gap */
.fpp-slider{padding-right: var(--fpp-peek-px);}
.fpp-track{display:flex;align-items:stretch;will-change:transform;transition:transform .6s ease}
.fpp-slide{
  display:flex;
  flex:0 0 var(--fpp-slide-w);
  width: var(--fpp-slide-w);
  opacity:.35;
  filter: blur(var(--fpp-blur));
  transform: scale(.985);
  transition: opacity .35s ease, filter .35s ease, transform .35s ease;
}
.fpp-slide.is-active{opacity:1; filter:none; transform:none;}
.fpp-slide.is-next{
  opacity:.7;
  filter: blur(calc(var(--fpp-blur) * 0.6));
  transform: scale(.993);
}

.fpp-title-wrap{
    display:flex;
    align-items:center !important;
    gap:16px;
    width:100%;
    padding-bottom:10px;
    border-bottom:1px solid #f2f2f2;
}
.fpp-title a{
    color: inherit;
    text-decoration: none;
}
.fpp-title:hover a,
.fpp-title:focus a{
    color: inherit;
    text-decoration: none;
}
.fpp-project-logo {
    border:1px solid #f2f2f2;
    padding:5px;
}

.fpp-project-logo img{
    width:60px;
    height:60px;
    object-fit:contain;
}


/* Peek background fade overlay (right side) */
.fpp-fade-on .fpp-slider:after{
  content:"";
  position:absolute;
  top:0; right:0;
  width: var(--fpp-fade-w);
  height:100%;
  pointer-events:none;
  background: linear-gradient(to left, var(--fpp-fade-c) 0%, rgba(255,255,255,0) 100%);
}

/* 2) Force image column + wrapper to take full height */
.fpp-media,
.fpp-media a,
.fpp-media .fpp-img,
.fpp-media .fpp-img-wrap{
  height:100%;
  min-height:100%;
}

/* 3) Image must cover full height/width (no gap) */
.fpp-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}

/* 4) Remove any padding/margin that creates gaps */
.fpp-media{
  padding:0 !important;
  margin:0 !important;
}

/* 5) (Optional) If your image area still doesn't stretch because parent has auto height */
.fpp-slide,
.fpp-card-inner{
  height:100%;
}


/* Card */
.fpp-card{
  display:flex;
  align-items:stretch;gap:0px;
  background:#fff;border:1px solid #e9e9e9;
  padding:0px;min-height:300px;
  margin-bottom:10px;
  max-width:1110px;
}

.fpp-media{flex:0 0 var(--fpp-media)}
.fpp-content{
  flex: 0 0 calc(100% - var(--fpp-media));
  max-width:470px;
  padding: 20px 20px 20px 30px;
  /* IMPORTANT PART */
  display: flex;
  flex-direction: column;
  justify-content: center; /* vertical center */
  align-items: flex-start; /* keep text left aligned */
  height: 100%;
}

.fpp-media img{width:100%; height:100%;display:block}
.fpp-noimg{height:300px;border:1px dashed #ddd;display:flex;align-items:center;justify-content:center;color:#777}

.fpp-logo img{max-height:28px;width:auto;display:block;margin-bottom:14px}
.fpp-title{margin:15px 0 0px 0;font-size:32px;line-height:1.1;font-weight:500}
.fpp-location{font-size:14px;opacity:.75;margin:0 0 14px}

.fpp-divider{height:2px;background:#3d3d3d;margin:10px 0;border-top:1px solid #eee;}

.fpp-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px 40px;margin:15px 0 20px;}
.fpp-meta-label span{display:block;font-size:11px; font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:#777;margin-bottom:0px; line-height:1.0em;}
.fpp-item b{font-size:14px;color:#222;font-weight:600}


.fpp-item{
  display:flex;
  align-items:center; /* center icon between label+value */
  gap:10px;
}

.fpp-meta-text{
  display:flex;
  flex-direction:column;
  gap:0px;
}


.fpp-meta-label{
  display:flex;
  align-items:center;   /* vertical center */
  line-height:1;
}

.fpp-meta-ico{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.fpp-meta-ico svg{
  display:block;
}


.fpp-actions-row{display:flex;align-items:center;gap:14px}
.fpp-cta{
  display:inline-flex;align-items:center;justify-content:center;
  background:#9c8355;color:#fff;text-decoration:none;
  padding:10px 18px;min-width:280px;
}
.fpp-mini{display:flex;gap:10px}
.fpp-mini-btn{
  width:44px;height:44px;border:1px solid #d8d8d8;background:#fff;color:#111;
  display:inline-flex;align-items:center;justify-content:center;text-decoration:none;
}

.fpp-empty{padding:20px;border:1px solid #eee;background:#fff}

@media (max-width:1024px){
  .fpp-h2{font-size:34px}
  .fpp-card{gap:26px;min-height:auto}
  .fpp-media img,.fpp-noimg{height:280px}
  .fpp-title{font-size:25px}
}

@media (max-width:767px){
  .fpp-section{padding:0px 0; --fpp-peek: 0%; --fpp-gap: 0px;}
  .fpp-h2{font-size:20px}
  .fpp-card{flex-direction:column;gap:14px;padding:0px}
  .fpp-media,.fpp-content{flex:0 0 100%;width:100%;}
  .fpp-content{
  flex: 0 0 calc(100% - var(--fpp-media));
  max-width:100%;
  padding: 0px 20px 20px 20px;
      
  }
  .fpp-media img,.fpp-noimg{height:200px}
  .fpp-title{font-size:18px !important; padding-top:0px;margin-top:0px;}
  .fpp-cta{min-width:200px;width:100%}
  .fpp-mini{justify-content:flex-end}
  .fpp-slide{
  display:flex;
filter:none; opacity:1; transform:none;}
  .fpp-slide.is-next{opacity:1;}
  .fpp-fade-on .fpp-slider:after{display:none;}

  /* v1.9 fixes: prevent huge blank space on mobile */
  .fpp-track{align-items:flex-start;}
  .fpp-slide{display:block;}
  .fpp-card{height:auto;min-height:unset;}

}


/* v2.1 drag cursor */
.fpp-slider{cursor:grab;}
.fpp-slider.fpp-dragging{cursor:grabbing;}
.fpp-cta:hover{filter:brightness(.95);}

/* -------------------------------------------
   Disable blur & fade inside Elementor editor
-------------------------------------------- */
body.elementor-editor-active .fpp-slide,
body.elementor-editor-active .fpp-card,
body.elementor-editor-active .fpp-media,
body.elementor-editor-active .fpp-content {
    filter: none !important;
    opacity: 1 !important;
}

body.elementor-editor-active .fpp-fade-on::after,
body.elementor-editor-active .fpp-fade-on::before {
    display: none !important;
}

body.elementor-editor-active .fpp-track {
    transform: none !important;
}

body.elementor-editor-active .fpp-slide {
    pointer-events: auto !important;
}
