/* KFF Editorial Blocks — pixel match Homepage_v10 .editorial-blocks */
.kff-editorial-blocks{
  --kff-teal-dark:#0A4842;
  --kff-sage:#9FB7A7;
  --kff-gold:#C2A36B;
  --kff-charcoal:#3A3A3A;
  --kff-serif:'Playfair Display', Georgia, serif;
  --kff-sans:'Alegreya Sans', 'Helvetica Neue', Arial, sans-serif;
  --kff-card-shadow:0 14px 32px rgba(58,58,58,0.10);

  display:flex;
  flex-direction:column;
  gap:4.5rem; /* 72px @16 */
  width:100%;
  box-sizing:border-box;
  font-family:var(--kff-sans);
  color:var(--kff-charcoal);
}
.kff-editorial-blocks *,
.kff-editorial-blocks *::before,
.kff-editorial-blocks *::after{box-sizing:border-box;}

.kff-editorial-blocks .editorial-block{
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:5vw;
  align-items:center;
  text-decoration:none !important;
  color:inherit;
  width:100%;
}
.kff-editorial-blocks .editorial-block.reverse{
  grid-template-columns:1.1fr 1fr;
}
.kff-editorial-blocks .editorial-block.reverse .editorial-media{order:2;}
.kff-editorial-blocks .editorial-block.reverse .editorial-body{order:1;}

.kff-editorial-blocks .editorial-block .editorial-media{
  position:relative;
  overflow:hidden;
  aspect-ratio:4/3;
  box-shadow:var(--kff-card-shadow);
  border-radius:0;
  width:100%;
}
.kff-editorial-blocks .editorial-block .editorial-media .illustration-bg{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  transition:transform 1.2s cubic-bezier(0.2,0.7,0.3,1);
}
.kff-editorial-blocks .editorial-block:hover .editorial-media .illustration-bg{
  transform:scale(1.06);
}

.kff-editorial-blocks .editorial-block .editorial-body{
  padding:0 0.5rem; /* 8px */
}

.kff-editorial-blocks .editorial-block h3{
  font-family:var(--kff-serif);
  font-weight:400;
  font-size:clamp(1.2rem,1.7vw,1.4rem); /* 19.2px → 22.4px */
  color:var(--kff-teal-dark);
  margin:0 0 0.9rem; /* 14.4px */
  position:relative;
  display:inline-block;
  line-height:1.35;
}
.kff-editorial-blocks .editorial-block h3::after{
  content:'';
  position:absolute;
  left:0;
  bottom:-10px;
  height:1px;
  width:0;
  background:var(--kff-gold);
  transition:width 0.5s ease;
}
.kff-editorial-blocks .editorial-block:hover h3::after{
  width:40px;
}

.kff-editorial-blocks .editorial-block p{
  font-family:var(--kff-sans);
  color:#4a4a4a;
  font-size:0.95rem; /* 15.2px */
  line-height:1.7;
  max-width:420px;
  margin:0 0 1.4rem; /* 22.4px */
  text-align:justify;
  text-justify:inter-word;
}

/* btn-sm — scoped + !important to beat Astra / Elementor .btn */
.elementor-widget-kff_editorial_blocks .kff-editorial-blocks .editorial-block .kff-ed-btn,
.kff-editorial-blocks .editorial-block .kff-ed-btn{
  display:inline-flex !important;
  align-items:center;
  gap:0.45rem; /* 7.2px */
  background:#9FB7A7 !important;
  background-color:#9FB7A7 !important;
  color:#3A3A3A !important;
  padding:0.55rem 1.2rem !important; /* 8.8px 19.2px */
  font-family:var(--kff-sans) !important;
  font-size:0.72rem !important; /* 11.52px */
  letter-spacing:0.08em !important;
  text-transform:uppercase !important;
  font-weight:500 !important;
  border-radius:0 !important;
  border:none !important;
  box-shadow:none !important;
  text-decoration:none !important;
  line-height:1.4 !important;
  transition:background 0.3s ease, background-color 0.3s ease, color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease, top 0.3s ease !important;
  position:relative;
  top:0;
  cursor:pointer;
}
.elementor-widget-kff_editorial_blocks .kff-editorial-blocks .editorial-block:hover .kff-ed-btn,
.elementor-widget-kff_editorial_blocks .kff-editorial-blocks .editorial-block .kff-ed-btn:hover,
.elementor-widget-kff_editorial_blocks .kff-editorial-blocks .editorial-block .kff-ed-btn:focus,
.kff-editorial-blocks .editorial-block:hover .kff-ed-btn,
.kff-editorial-blocks .editorial-block .kff-ed-btn:hover,
.kff-editorial-blocks .editorial-block .kff-ed-btn:focus{
  background:#C2A36B !important;
  background-color:#C2A36B !important;
  color:#3A3A3A !important;
  transform:translateY(-2px);
  top:-2px;
  box-shadow:0 8px 18px rgba(58,58,58,0.14) !important;
}

.elementor-widget-kff_editorial_blocks .kff-editorial-blocks .editorial-block .kff-ed-btn svg,
.kff-editorial-blocks .editorial-block .kff-ed-btn svg{
  width:14px;
  height:10px;
  flex-shrink:0;
  transition:transform 0.3s ease;
  display:block;
}
.elementor-widget-kff_editorial_blocks .kff-editorial-blocks .editorial-block:hover .kff-ed-btn svg,
.elementor-widget-kff_editorial_blocks .kff-editorial-blocks .editorial-block .kff-ed-btn:hover svg,
.kff-editorial-blocks .editorial-block:hover .kff-ed-btn svg,
.kff-editorial-blocks .editorial-block .kff-ed-btn:hover svg{
  transform:translateX(4px);
}

@media(max-width:900px){
  .kff-editorial-blocks{
    gap:3rem; /* 48px */
  }
  .kff-editorial-blocks .editorial-block,
  .kff-editorial-blocks .editorial-block.reverse{
    grid-template-columns:1fr;
    gap:1.8rem; /* 28.8px */
  }
  .kff-editorial-blocks .editorial-block .editorial-media,
  .kff-editorial-blocks .editorial-block.reverse .editorial-media{
    order:0;
  }
  .kff-editorial-blocks .editorial-block .editorial-body,
  .kff-editorial-blocks .editorial-block.reverse .editorial-body{
    order:1;
  }
}

@media (prefers-reduced-motion: reduce){
  .kff-editorial-blocks .editorial-block .editorial-media .illustration-bg,
  .kff-editorial-blocks .editorial-block h3::after,
  .kff-editorial-blocks .editorial-block .kff-ed-btn,
  .kff-editorial-blocks .editorial-block .kff-ed-btn svg{
    transition:none !important;
  }
  .kff-editorial-blocks .editorial-block:hover .editorial-media .illustration-bg{
    transform:none;
  }
}
